Text Compare
Produced: 7/19/2015 9:50:24 AM
   
Mode:  All, With Context  
Left file: C:\mksong\workspace_genproglase\genproglase-output-r1658\template03\0718-1345\valgrind-bug-11821-11822\sanity\coregrind\m_gdbserver\remote-utils.c  
Right file: C:\mksong\workspace_genproglase\genproglase-output-r1658\template03\0718-1345\valgrind-bug-11821-11822\000000\coregrind\m_gdbserver\remote-utils.c  
1 typedef unsigned char UChar; = 1 typedef unsigned char UChar;
2 typedef signed char Char;   2 typedef signed char Char;
3 typedef char HChar;   3 typedef char HChar;
4 typedef unsigned short UShort;   4 typedef unsigned short UShort;
5 typedef short Short;   5 typedef short Short;
6 typedef unsigned int UInt;   6 typedef unsigned int UInt;
7 typedef int Int;   7 typedef int Int;
8 typedef unsigned long long ULong;   8 typedef unsigned long long ULong;
9 typedef long long Long;   9 typedef long long Long;
10 typedef UInt U128[4];   10 typedef UInt U128[4];
11 union __anonunion_V128_1 {   11 union __anonunion_V128_1 {
12    UChar w8[16] ;   12    UChar w8[16] ;
13    UShort w16[8] ;   13    UShort w16[8] ;
14    UInt w32[4] ;   14    UInt w32[4] ;
15    ULong w64[2] ;   15    ULong w64[2] ;
16 };   16 };
17 typedef union __anonunion_V128_1 V128;   17 typedef union __anonunion_V128_1 V128;
18 typedef float Float;   18 typedef float Float;
19 typedef double Double;   19 typedef double Double;
20 typedef unsigned char Bool;   20 typedef unsigned char Bool;
21 typedef UInt Addr32;   21 typedef UInt Addr32;
22 typedef ULong Addr64;   22 typedef ULong Addr64;
23 typedef unsigned long HWord;   23 typedef unsigned long HWord;
24 typedef __builtin_va_list __gnuc_va_list;   24 typedef __builtin_va_list __gnuc_va_list;
25 typedef __gnuc_va_list va_list;   25 typedef __gnuc_va_list va_list;
26 typedef unsigned long UWord;   26 typedef unsigned long UWord;
27 typedef long Word;   27 typedef long Word;
28 typedef UWord Addr;   28 typedef UWord Addr;
29 typedef UWord AddrH;   29 typedef UWord AddrH;
30 typedef UWord SizeT;   30 typedef UWord SizeT;
31 typedef Word SSizeT;   31 typedef Word SSizeT;
32 typedef Word PtrdiffT;   32 typedef Word PtrdiffT;
33 typedef Word OffT;   33 typedef Word OffT;
34 typedef Long Off64T;   34 typedef Long Off64T;
35 struct __anonstruct_UWordPair_2 {   35 struct __anonstruct_UWordPair_2 {
36    UWord uw1 ;   36    UWord uw1 ;
37    UWord uw2 ;   37    UWord uw2 ;
38 };   38 };
39 typedef struct __anonstruct_UWordPair_2 UWordPair;   39 typedef struct __anonstruct_UWordPair_2 UWordPair;
40 typedef UInt ThreadId;   40 typedef UInt ThreadId;
41 struct __anonstruct_SysRes_3 {   41 struct __anonstruct_SysRes_3 {
42    UWord _val ;   42    UWord _val ;
43    Bool _isError ;   43    Bool _isError ;
44 };   44 };
45 typedef struct __anonstruct_SysRes_3 SysRes;   45 typedef struct __anonstruct_SysRes_3 SysRes;
46 enum __anonenum_IRType_4 {   46 enum __anonenum_IRType_4 {
47     Ity_INVALID = 69632,   47     Ity_INVALID = 69632,
48     Ity_I1 = 69633,   48     Ity_I1 = 69633,
49     Ity_I8 = 69634,   49     Ity_I8 = 69634,
50     Ity_I16 = 69635,   50     Ity_I16 = 69635,
51     Ity_I32 = 69636,   51     Ity_I32 = 69636,
52     Ity_I64 = 69637,   52     Ity_I64 = 69637,
53     Ity_I128 = 69638,   53     Ity_I128 = 69638,
54     Ity_F32 = 69639,   54     Ity_F32 = 69639,
55     Ity_F64 = 69640,   55     Ity_F64 = 69640,
56     Ity_F128 = 69641,   56     Ity_F128 = 69641,
57     Ity_V128 = 69642   57     Ity_V128 = 69642
58 } ;   58 } ;
59 typedef enum __anonenum_IRType_4 IRType;   59 typedef enum __anonenum_IRType_4 IRType;
60 enum __anonenum_IREndness_5 {   60 enum __anonenum_IREndness_5 {
61     Iend_LE = 73728,   61     Iend_LE = 73728,
62     Iend_BE = 73729   62     Iend_BE = 73729
63 } ;   63 } ;
64 typedef enum __anonenum_IREndness_5 IREndness;   64 typedef enum __anonenum_IREndness_5 IREndness;
65 enum __anonenum_IRConstTag_6 {   65 enum __anonenum_IRConstTag_6 {
66     Ico_U1 = 77824,   66     Ico_U1 = 77824,
67     Ico_U8 = 77825,   67     Ico_U8 = 77825,
68     Ico_U16 = 77826,   68     Ico_U16 = 77826,
69     Ico_U32 = 77827,   69     Ico_U32 = 77827,
70     Ico_U64 = 77828,   70     Ico_U64 = 77828,
71     Ico_F32 = 77829,   71     Ico_F32 = 77829,
72     Ico_F32i = 77830,   72     Ico_F32i = 77830,
73     Ico_F64 = 77831,   73     Ico_F64 = 77831,
74     Ico_F64i = 77832,   74     Ico_F64i = 77832,
75     Ico_V128 = 77833   75     Ico_V128 = 77833
76 } ;   76 } ;
77 typedef enum __anonenum_IRConstTag_6 IRConstTag;   77 typedef enum __anonenum_IRConstTag_6 IRConstTag;
78 union __anonunion_Ico_7 {   78 union __anonunion_Ico_7 {
79    Bool U1 ;   79    Bool U1 ;
80    UChar U8 ;   80    UChar U8 ;
81    UShort U16 ;   81    UShort U16 ;
82    UInt U32 ;   82    UInt U32 ;
83    ULong U64 ;   83    ULong U64 ;
84    Float F32 ;   84    Float F32 ;
85    UInt F32i ;   85    UInt F32i ;
86    Double F64 ;   86    Double F64 ;
87    ULong F64i ;   87    ULong F64i ;
88    UShort V128 ;   88    UShort V128 ;
89 };   89 };
90 struct _IRConst {   90 struct _IRConst {
91    IRConstTag tag ;   91    IRConstTag tag ;
92    union __anonunion_Ico_7 Ico ;   92    union __anonunion_Ico_7 Ico ;
93 };   93 };
94 typedef struct _IRConst IRConst;   94 typedef struct _IRConst IRConst;
95 struct __anonstruct_IRCallee_8 {   95 struct __anonstruct_IRCallee_8 {
96    Int regparms ;   96    Int regparms ;
97    HChar *name ;   97    HChar *name ;
98    void *addr ;   98    void *addr ;
99    UInt mcx_mask ;   99    UInt mcx_mask ;
100 };   100 };
101 typedef struct __anonstruct_IRCallee_8 IRCallee;   101 typedef struct __anonstruct_IRCallee_8 IRCallee;
102 struct __anonstruct_IRRegArray_9 {   102 struct __anonstruct_IRRegArray_9 {
103    Int base ;   103    Int base ;
104    IRType elemTy ;   104    IRType elemTy ;
105    Int nElems ;   105    Int nElems ;
106 };   106 };
107 typedef struct __anonstruct_IRRegArray_9 IRRegArray;   107 typedef struct __anonstruct_IRRegArray_9 IRRegArray;
108 typedef UInt IRTemp;   108 typedef UInt IRTemp;
109 enum __anonenum_IROp_10 {   109 enum __anonenum_IROp_10 {
110     Iop_INVALID = 81920,   110     Iop_INVALID = 81920,
111     Iop_Add8 = 81921,   111     Iop_Add8 = 81921,
112     Iop_Add16 = 81922,   112     Iop_Add16 = 81922,
113     Iop_Add32 = 81923,   113     Iop_Add32 = 81923,
114     Iop_Add64 = 81924,   114     Iop_Add64 = 81924,
115     Iop_Sub8 = 81925,   115     Iop_Sub8 = 81925,
116     Iop_Sub16 = 81926,   116     Iop_Sub16 = 81926,
117     Iop_Sub32 = 81927,   117     Iop_Sub32 = 81927,
118     Iop_Sub64 = 81928,   118     Iop_Sub64 = 81928,
119     Iop_Mul8 = 81929,   119     Iop_Mul8 = 81929,
120     Iop_Mul16 = 81930,   120     Iop_Mul16 = 81930,
121     Iop_Mul32 = 81931,   121     Iop_Mul32 = 81931,
122     Iop_Mul64 = 81932,   122     Iop_Mul64 = 81932,
123     Iop_Or8 = 81933,   123     Iop_Or8 = 81933,
124     Iop_Or16 = 81934,   124     Iop_Or16 = 81934,
125     Iop_Or32 = 81935,   125     Iop_Or32 = 81935,
126     Iop_Or64 = 81936,   126     Iop_Or64 = 81936,
127     Iop_And8 = 81937,   127     Iop_And8 = 81937,
128     Iop_And16 = 81938,   128     Iop_And16 = 81938,
129     Iop_And32 = 81939,   129     Iop_And32 = 81939,
130     Iop_And64 = 81940,   130     Iop_And64 = 81940,
131     Iop_Xor8 = 81941,   131     Iop_Xor8 = 81941,
132     Iop_Xor16 = 81942,   132     Iop_Xor16 = 81942,
133     Iop_Xor32 = 81943,   133     Iop_Xor32 = 81943,
134     Iop_Xor64 = 81944,   134     Iop_Xor64 = 81944,
135     Iop_Shl8 = 81945,   135     Iop_Shl8 = 81945,
136     Iop_Shl16 = 81946,   136     Iop_Shl16 = 81946,
137     Iop_Shl32 = 81947,   137     Iop_Shl32 = 81947,
138     Iop_Shl64 = 81948,   138     Iop_Shl64 = 81948,
139     Iop_Shr8 = 81949,   139     Iop_Shr8 = 81949,
140     Iop_Shr16 = 81950,   140     Iop_Shr16 = 81950,
141     Iop_Shr32 = 81951,   141     Iop_Shr32 = 81951,
142     Iop_Shr64 = 81952,   142     Iop_Shr64 = 81952,
143     Iop_Sar8 = 81953,   143     Iop_Sar8 = 81953,
144     Iop_Sar16 = 81954,   144     Iop_Sar16 = 81954,
145     Iop_Sar32 = 81955,   145     Iop_Sar32 = 81955,
146     Iop_Sar64 = 81956,   146     Iop_Sar64 = 81956,
147     Iop_CmpEQ8 = 81957,   147     Iop_CmpEQ8 = 81957,
148     Iop_CmpEQ16 = 81958,   148     Iop_CmpEQ16 = 81958,
149     Iop_CmpEQ32 = 81959,   149     Iop_CmpEQ32 = 81959,
150     Iop_CmpEQ64 = 81960,   150     Iop_CmpEQ64 = 81960,
151     Iop_CmpNE8 = 81961,   151     Iop_CmpNE8 = 81961,
152     Iop_CmpNE16 = 81962,   152     Iop_CmpNE16 = 81962,
153     Iop_CmpNE32 = 81963,   153     Iop_CmpNE32 = 81963,
154     Iop_CmpNE64 = 81964,   154     Iop_CmpNE64 = 81964,
155     Iop_Not8 = 81965,   155     Iop_Not8 = 81965,
156     Iop_Not16 = 81966,   156     Iop_Not16 = 81966,
157     Iop_Not32 = 81967,   157     Iop_Not32 = 81967,
158     Iop_Not64 = 81968,   158     Iop_Not64 = 81968,
159     Iop_CasCmpEQ8 = 81969,   159     Iop_CasCmpEQ8 = 81969,
160     Iop_CasCmpEQ16 = 81970,   160     Iop_CasCmpEQ16 = 81970,
161     Iop_CasCmpEQ32 = 81971,   161     Iop_CasCmpEQ32 = 81971,
162     Iop_CasCmpEQ64 = 81972,   162     Iop_CasCmpEQ64 = 81972,
163     Iop_CasCmpNE8 = 81973,   163     Iop_CasCmpNE8 = 81973,
164     Iop_CasCmpNE16 = 81974,   164     Iop_CasCmpNE16 = 81974,
165     Iop_CasCmpNE32 = 81975,   165     Iop_CasCmpNE32 = 81975,
166     Iop_CasCmpNE64 = 81976,   166     Iop_CasCmpNE64 = 81976,
167     Iop_MullS8 = 81977,   167     Iop_MullS8 = 81977,
168     Iop_MullS16 = 81978,   168     Iop_MullS16 = 81978,
169     Iop_MullS32 = 81979,   169     Iop_MullS32 = 81979,
170     Iop_MullS64 = 81980,   170     Iop_MullS64 = 81980,
171     Iop_MullU8 = 81981,   171     Iop_MullU8 = 81981,
172     Iop_MullU16 = 81982,   172     Iop_MullU16 = 81982,
173     Iop_MullU32 = 81983,   173     Iop_MullU32 = 81983,
174     Iop_MullU64 = 81984,   174     Iop_MullU64 = 81984,
175     Iop_Clz64 = 81985,   175     Iop_Clz64 = 81985,
176     Iop_Clz32 = 81986,   176     Iop_Clz32 = 81986,
177     Iop_Ctz64 = 81987,   177     Iop_Ctz64 = 81987,
178     Iop_Ctz32 = 81988,   178     Iop_Ctz32 = 81988,
179     Iop_CmpLT32S = 81989,   179     Iop_CmpLT32S = 81989,
180     Iop_CmpLT64S = 81990,   180     Iop_CmpLT64S = 81990,
181     Iop_CmpLE32S = 81991,   181     Iop_CmpLE32S = 81991,
182     Iop_CmpLE64S = 81992,   182     Iop_CmpLE64S = 81992,
183     Iop_CmpLT32U = 81993,   183     Iop_CmpLT32U = 81993,
184     Iop_CmpLT64U = 81994,   184     Iop_CmpLT64U = 81994,
185     Iop_CmpLE32U = 81995,   185     Iop_CmpLE32U = 81995,
186     Iop_CmpLE64U = 81996,   186     Iop_CmpLE64U = 81996,
187     Iop_CmpNEZ8 = 81997,   187     Iop_CmpNEZ8 = 81997,
188     Iop_CmpNEZ16 = 81998,   188     Iop_CmpNEZ16 = 81998,
189     Iop_CmpNEZ32 = 81999,   189     Iop_CmpNEZ32 = 81999,
190     Iop_CmpNEZ64 = 82000,   190     Iop_CmpNEZ64 = 82000,
191     Iop_CmpwNEZ32 = 82001,   191     Iop_CmpwNEZ32 = 82001,
192     Iop_CmpwNEZ64 = 82002,   192     Iop_CmpwNEZ64 = 82002,
193     Iop_Left8 = 82003,   193     Iop_Left8 = 82003,
194     Iop_Left16 = 82004,   194     Iop_Left16 = 82004,
195     Iop_Left32 = 82005,   195     Iop_Left32 = 82005,
196     Iop_Left64 = 82006,   196     Iop_Left64 = 82006,
197     Iop_Max32U = 82007,   197     Iop_Max32U = 82007,
198     Iop_CmpORD32U = 82008,   198     Iop_CmpORD32U = 82008,
199     Iop_CmpORD64U = 82009,   199     Iop_CmpORD64U = 82009,
200     Iop_CmpORD32S = 82010,   200     Iop_CmpORD32S = 82010,
201     Iop_CmpORD64S = 82011,   201     Iop_CmpORD64S = 82011,
202     Iop_DivU32 = 82012,   202     Iop_DivU32 = 82012,
203     Iop_DivS32 = 82013,   203     Iop_DivS32 = 82013,
204     Iop_DivU64 = 82014,   204     Iop_DivU64 = 82014,
205     Iop_DivS64 = 82015,   205     Iop_DivS64 = 82015,
206     Iop_DivModU64to32 = 82016,   206     Iop_DivModU64to32 = 82016,
207     Iop_DivModS64to32 = 82017,   207     Iop_DivModS64to32 = 82017,
208     Iop_DivModU128to64 = 82018,   208     Iop_DivModU128to64 = 82018,
209     Iop_DivModS128to64 = 82019,   209     Iop_DivModS128to64 = 82019,
210     Iop_DivModS64to64 = 82020,   210     Iop_DivModS64to64 = 82020,
211     Iop_8Uto16 = 82021,   211     Iop_8Uto16 = 82021,
212     Iop_8Uto32 = 82022,   212     Iop_8Uto32 = 82022,
213     Iop_8Uto64 = 82023,   213     Iop_8Uto64 = 82023,
214     Iop_16Uto32 = 82024,   214     Iop_16Uto32 = 82024,
215     Iop_16Uto64 = 82025,   215     Iop_16Uto64 = 82025,
216     Iop_32Uto64 = 82026,   216     Iop_32Uto64 = 82026,
217     Iop_8Sto16 = 82027,   217     Iop_8Sto16 = 82027,
218     Iop_8Sto32 = 82028,   218     Iop_8Sto32 = 82028,
219     Iop_8Sto64 = 82029,   219     Iop_8Sto64 = 82029,
220     Iop_16Sto32 = 82030,   220     Iop_16Sto32 = 82030,
221     Iop_16Sto64 = 82031,   221     Iop_16Sto64 = 82031,
222     Iop_32Sto64 = 82032,   222     Iop_32Sto64 = 82032,
223     Iop_64to8 = 82033,   223     Iop_64to8 = 82033,
224     Iop_32to8 = 82034,   224     Iop_32to8 = 82034,
225     Iop_64to16 = 82035,   225     Iop_64to16 = 82035,
226     Iop_16to8 = 82036,   226     Iop_16to8 = 82036,
227     Iop_16HIto8 = 82037,   227     Iop_16HIto8 = 82037,
228     Iop_8HLto16 = 82038,   228     Iop_8HLto16 = 82038,
229     Iop_32to16 = 82039,   229     Iop_32to16 = 82039,
230     Iop_32HIto16 = 82040,   230     Iop_32HIto16 = 82040,
231     Iop_16HLto32 = 82041,   231     Iop_16HLto32 = 82041,
232     Iop_64to32 = 82042,   232     Iop_64to32 = 82042,
233     Iop_64HIto32 = 82043,   233     Iop_64HIto32 = 82043,
234     Iop_32HLto64 = 82044,   234     Iop_32HLto64 = 82044,
235     Iop_128to64 = 82045,   235     Iop_128to64 = 82045,
236     Iop_128HIto64 = 82046,   236     Iop_128HIto64 = 82046,
237     Iop_64HLto128 = 82047,   237     Iop_64HLto128 = 82047,
238     Iop_Not1 = 82048,   238     Iop_Not1 = 82048,
239     Iop_32to1 = 82049,   239     Iop_32to1 = 82049,
240     Iop_64to1 = 82050,   240     Iop_64to1 = 82050,
241     Iop_1Uto8 = 82051,   241     Iop_1Uto8 = 82051,
242     Iop_1Uto32 = 82052,   242     Iop_1Uto32 = 82052,
243     Iop_1Uto64 = 82053,   243     Iop_1Uto64 = 82053,
244     Iop_1Sto8 = 82054,   244     Iop_1Sto8 = 82054,
245     Iop_1Sto16 = 82055,   245     Iop_1Sto16 = 82055,
246     Iop_1Sto32 = 82056,   246     Iop_1Sto32 = 82056,
247     Iop_1Sto64 = 82057,   247     Iop_1Sto64 = 82057,
248     Iop_AddF64 = 82058,   248     Iop_AddF64 = 82058,
249     Iop_SubF64 = 82059,   249     Iop_SubF64 = 82059,
250     Iop_MulF64 = 82060,   250     Iop_MulF64 = 82060,
251     Iop_DivF64 = 82061,   251     Iop_DivF64 = 82061,
252     Iop_AddF32 = 82062,   252     Iop_AddF32 = 82062,
253     Iop_SubF32 = 82063,   253     Iop_SubF32 = 82063,
254     Iop_MulF32 = 82064,   254     Iop_MulF32 = 82064,
255     Iop_DivF32 = 82065,   255     Iop_DivF32 = 82065,
256     Iop_AddF64r32 = 82066,   256     Iop_AddF64r32 = 82066,
257     Iop_SubF64r32 = 82067,   257     Iop_SubF64r32 = 82067,
258     Iop_MulF64r32 = 82068,   258     Iop_MulF64r32 = 82068,
259     Iop_DivF64r32 = 82069,   259     Iop_DivF64r32 = 82069,
260     Iop_NegF64 = 82070,   260     Iop_NegF64 = 82070,
261     Iop_AbsF64 = 82071,   261     Iop_AbsF64 = 82071,
262     Iop_NegF32 = 82072,   262     Iop_NegF32 = 82072,
263     Iop_AbsF32 = 82073,   263     Iop_AbsF32 = 82073,
264     Iop_SqrtF64 = 82074,   264     Iop_SqrtF64 = 82074,
265     Iop_SqrtF64r32 = 82075,   265     Iop_SqrtF64r32 = 82075,
266     Iop_SqrtF32 = 82076,   266     Iop_SqrtF32 = 82076,
267     Iop_CmpF64 = 82077,   267     Iop_CmpF64 = 82077,
268     Iop_CmpF32 = 82078,   268     Iop_CmpF32 = 82078,
269     Iop_CmpF128 = 82079,   269     Iop_CmpF128 = 82079,
270     Iop_F64toI16S = 82080,   270     Iop_F64toI16S = 82080,
271     Iop_F64toI32S = 82081,   271     Iop_F64toI32S = 82081,
272     Iop_F64toI64S = 82082,   272     Iop_F64toI64S = 82082,
273     Iop_F64toI32U = 82083,   273     Iop_F64toI32U = 82083,
274     Iop_I16StoF64 = 82084,   274     Iop_I16StoF64 = 82084,
275     Iop_I32StoF64 = 82085,   275     Iop_I32StoF64 = 82085,
276     Iop_I64StoF64 = 82086,   276     Iop_I64StoF64 = 82086,
277     Iop_I64UtoF64 = 82087,   277     Iop_I64UtoF64 = 82087,
278     Iop_I64UtoF32 = 82088,   278     Iop_I64UtoF32 = 82088,
279     Iop_I32UtoF64 = 82089,   279     Iop_I32UtoF64 = 82089,
280     Iop_F32toI16S = 82090,   280     Iop_F32toI16S = 82090,
281     Iop_F32toI32S = 82091,   281     Iop_F32toI32S = 82091,
282     Iop_F32toI64S = 82092,   282     Iop_F32toI64S = 82092,
283     Iop_I16StoF32 = 82093,   283     Iop_I16StoF32 = 82093,
284     Iop_I32StoF32 = 82094,   284     Iop_I32StoF32 = 82094,
285     Iop_I64StoF32 = 82095,   285     Iop_I64StoF32 = 82095,
286     Iop_F32toF64 = 82096,   286     Iop_F32toF64 = 82096,
287     Iop_F64toF32 = 82097,   287     Iop_F64toF32 = 82097,
288     Iop_ReinterpF64asI64 = 82098,   288     Iop_ReinterpF64asI64 = 82098,
289     Iop_ReinterpI64asF64 = 82099,   289     Iop_ReinterpI64asF64 = 82099,
290     Iop_ReinterpF32asI32 = 82100,   290     Iop_ReinterpF32asI32 = 82100,
291     Iop_ReinterpI32asF32 = 82101,   291     Iop_ReinterpI32asF32 = 82101,
292     Iop_F64HLtoF128 = 82102,   292     Iop_F64HLtoF128 = 82102,
293     Iop_F128HItoF64 = 82103,   293     Iop_F128HItoF64 = 82103,
294     Iop_F128LOtoF64 = 82104,   294     Iop_F128LOtoF64 = 82104,
295     Iop_AddF128 = 82105,   295     Iop_AddF128 = 82105,
296     Iop_SubF128 = 82106,   296     Iop_SubF128 = 82106,
297     Iop_MulF128 = 82107,   297     Iop_MulF128 = 82107,
298     Iop_DivF128 = 82108,   298     Iop_DivF128 = 82108,
299     Iop_NegF128 = 82109,   299     Iop_NegF128 = 82109,
300     Iop_AbsF128 = 82110,   300     Iop_AbsF128 = 82110,
301     Iop_SqrtF128 = 82111,   301     Iop_SqrtF128 = 82111,
302     Iop_I32StoF128 = 82112,   302     Iop_I32StoF128 = 82112,
303     Iop_I64StoF128 = 82113,   303     Iop_I64StoF128 = 82113,
304     Iop_F32toF128 = 82114,   304     Iop_F32toF128 = 82114,
305     Iop_F64toF128 = 82115,   305     Iop_F64toF128 = 82115,
306     Iop_F128toI32S = 82116,   306     Iop_F128toI32S = 82116,
307     Iop_F128toI64S = 82117,   307     Iop_F128toI64S = 82117,
308     Iop_F128toF64 = 82118,   308     Iop_F128toF64 = 82118,
309     Iop_F128toF32 = 82119,   309     Iop_F128toF32 = 82119,
310     Iop_AtanF64 = 82120,   310     Iop_AtanF64 = 82120,
311     Iop_Yl2xF64 = 82121,   311     Iop_Yl2xF64 = 82121,
312     Iop_Yl2xp1F64 = 82122,   312     Iop_Yl2xp1F64 = 82122,
313     Iop_PRemF64 = 82123,   313     Iop_PRemF64 = 82123,
314     Iop_PRemC3210F64 = 82124,   314     Iop_PRemC3210F64 = 82124,
315     Iop_PRem1F64 = 82125,   315     Iop_PRem1F64 = 82125,
316     Iop_PRem1C3210F64 = 82126,   316     Iop_PRem1C3210F64 = 82126,
317     Iop_ScaleF64 = 82127,   317     Iop_ScaleF64 = 82127,
318     Iop_SinF64 = 82128,   318     Iop_SinF64 = 82128,
319     Iop_CosF64 = 82129,   319     Iop_CosF64 = 82129,
320     Iop_TanF64 = 82130,   320     Iop_TanF64 = 82130,
321     Iop_2xm1F64 = 82131,   321     Iop_2xm1F64 = 82131,
322     Iop_RoundF64toInt = 82132,   322     Iop_RoundF64toInt = 82132,
323     Iop_RoundF32toInt = 82133,   323     Iop_RoundF32toInt = 82133,
324     Iop_MAddF32 = 82134,   324     Iop_MAddF32 = 82134,
325     Iop_MSubF32 = 82135,   325     Iop_MSubF32 = 82135,
326     Iop_MAddF64 = 82136,   326     Iop_MAddF64 = 82136,
327     Iop_MSubF64 = 82137,   327     Iop_MSubF64 = 82137,
328     Iop_MAddF64r32 = 82138,   328     Iop_MAddF64r32 = 82138,
329     Iop_MSubF64r32 = 82139,   329     Iop_MSubF64r32 = 82139,
330     Iop_Est5FRSqrt = 82140,   330     Iop_Est5FRSqrt = 82140,
331     Iop_RoundF64toF64_NEAREST = 82141,   331     Iop_RoundF64toF64_NEAREST = 82141,
332     Iop_RoundF64toF64_NegINF = 82142,   332     Iop_RoundF64toF64_NegINF = 82142,
333     Iop_RoundF64toF64_PosINF = 82143,   333     Iop_RoundF64toF64_PosINF = 82143,
334     Iop_RoundF64toF64_ZERO = 82144,   334     Iop_RoundF64toF64_ZERO = 82144,
335     Iop_TruncF64asF32 = 82145,   335     Iop_TruncF64asF32 = 82145,
336     Iop_RoundF64toF32 = 82146,   336     Iop_RoundF64toF32 = 82146,
337     Iop_CalcFPRF = 82147,   337     Iop_CalcFPRF = 82147,
338     Iop_Add16x2 = 82148,   338     Iop_Add16x2 = 82148,
339     Iop_Sub16x2 = 82149,   339     Iop_Sub16x2 = 82149,
340     Iop_QAdd16Sx2 = 82150,   340     Iop_QAdd16Sx2 = 82150,
341     Iop_QAdd16Ux2 = 82151,   341     Iop_QAdd16Ux2 = 82151,
342     Iop_QSub16Sx2 = 82152,   342     Iop_QSub16Sx2 = 82152,
343     Iop_QSub16Ux2 = 82153,   343     Iop_QSub16Ux2 = 82153,
344     Iop_HAdd16Ux2 = 82154,   344     Iop_HAdd16Ux2 = 82154,
345     Iop_HAdd16Sx2 = 82155,   345     Iop_HAdd16Sx2 = 82155,
346     Iop_HSub16Ux2 = 82156,   346     Iop_HSub16Ux2 = 82156,
347     Iop_HSub16Sx2 = 82157,   347     Iop_HSub16Sx2 = 82157,
348     Iop_Add8x4 = 82158,   348     Iop_Add8x4 = 82158,
349     Iop_Sub8x4 = 82159,   349     Iop_Sub8x4 = 82159,
350     Iop_QAdd8Sx4 = 82160,   350     Iop_QAdd8Sx4 = 82160,
351     Iop_QAdd8Ux4 = 82161,   351     Iop_QAdd8Ux4 = 82161,
352     Iop_QSub8Sx4 = 82162,   352     Iop_QSub8Sx4 = 82162,
353     Iop_QSub8Ux4 = 82163,   353     Iop_QSub8Ux4 = 82163,
354     Iop_HAdd8Ux4 = 82164,   354     Iop_HAdd8Ux4 = 82164,
355     Iop_HAdd8Sx4 = 82165,   355     Iop_HAdd8Sx4 = 82165,
356     Iop_HSub8Ux4 = 82166,   356     Iop_HSub8Ux4 = 82166,
357     Iop_HSub8Sx4 = 82167,   357     Iop_HSub8Sx4 = 82167,
358     Iop_Sad8Ux4 = 82168,   358     Iop_Sad8Ux4 = 82168,
359     Iop_CmpNEZ16x2 = 82169,   359     Iop_CmpNEZ16x2 = 82169,
360     Iop_CmpNEZ8x4 = 82170,   360     Iop_CmpNEZ8x4 = 82170,
361     Iop_I32UtoFx2 = 82171,   361     Iop_I32UtoFx2 = 82171,
362     Iop_I32StoFx2 = 82172,   362     Iop_I32StoFx2 = 82172,
363     Iop_FtoI32Ux2_RZ = 82173,   363     Iop_FtoI32Ux2_RZ = 82173,
364     Iop_FtoI32Sx2_RZ = 82174,   364     Iop_FtoI32Sx2_RZ = 82174,
365     Iop_F32ToFixed32Ux2_RZ = 82175,   365     Iop_F32ToFixed32Ux2_RZ = 82175,
366     Iop_F32ToFixed32Sx2_RZ = 82176,   366     Iop_F32ToFixed32Sx2_RZ = 82176,
367     Iop_Fixed32UToF32x2_RN = 82177,   367     Iop_Fixed32UToF32x2_RN = 82177,
368     Iop_Fixed32SToF32x2_RN = 82178,   368     Iop_Fixed32SToF32x2_RN = 82178,
369     Iop_Max32Fx2 = 82179,   369     Iop_Max32Fx2 = 82179,
370     Iop_Min32Fx2 = 82180,   370     Iop_Min32Fx2 = 82180,
371     Iop_PwMax32Fx2 = 82181,   371     Iop_PwMax32Fx2 = 82181,
372     Iop_PwMin32Fx2 = 82182,   372     Iop_PwMin32Fx2 = 82182,
373     Iop_CmpEQ32Fx2 = 82183,   373     Iop_CmpEQ32Fx2 = 82183,
374     Iop_CmpGT32Fx2 = 82184,   374     Iop_CmpGT32Fx2 = 82184,
375     Iop_CmpGE32Fx2 = 82185,   375     Iop_CmpGE32Fx2 = 82185,
376     Iop_Recip32Fx2 = 82186,   376     Iop_Recip32Fx2 = 82186,
377     Iop_Recps32Fx2 = 82187,   377     Iop_Recps32Fx2 = 82187,
378     Iop_Rsqrte32Fx2 = 82188,   378     Iop_Rsqrte32Fx2 = 82188,
379     Iop_Rsqrts32Fx2 = 82189,   379     Iop_Rsqrts32Fx2 = 82189,
380     Iop_Neg32Fx2 = 82190,   380     Iop_Neg32Fx2 = 82190,
381     Iop_Abs32Fx2 = 82191,   381     Iop_Abs32Fx2 = 82191,
382     Iop_CmpNEZ8x8 = 82192,   382     Iop_CmpNEZ8x8 = 82192,
383     Iop_CmpNEZ16x4 = 82193,   383     Iop_CmpNEZ16x4 = 82193,
384     Iop_CmpNEZ32x2 = 82194,   384     Iop_CmpNEZ32x2 = 82194,
385     Iop_Add8x8 = 82195,   385     Iop_Add8x8 = 82195,
386     Iop_Add16x4 = 82196,   386     Iop_Add16x4 = 82196,
387     Iop_Add32x2 = 82197,   387     Iop_Add32x2 = 82197,
388     Iop_QAdd8Ux8 = 82198,   388     Iop_QAdd8Ux8 = 82198,
389     Iop_QAdd16Ux4 = 82199,   389     Iop_QAdd16Ux4 = 82199,
390     Iop_QAdd32Ux2 = 82200,   390     Iop_QAdd32Ux2 = 82200,
391     Iop_QAdd64Ux1 = 82201,   391     Iop_QAdd64Ux1 = 82201,
392     Iop_QAdd8Sx8 = 82202,   392     Iop_QAdd8Sx8 = 82202,
393     Iop_QAdd16Sx4 = 82203,   393     Iop_QAdd16Sx4 = 82203,
394     Iop_QAdd32Sx2 = 82204,   394     Iop_QAdd32Sx2 = 82204,
395     Iop_QAdd64Sx1 = 82205,   395     Iop_QAdd64Sx1 = 82205,
396     Iop_PwAdd8x8 = 82206,   396     Iop_PwAdd8x8 = 82206,
397     Iop_PwAdd16x4 = 82207,   397     Iop_PwAdd16x4 = 82207,
398     Iop_PwAdd32x2 = 82208,   398     Iop_PwAdd32x2 = 82208,
399     Iop_PwMax8Sx8 = 82209,   399     Iop_PwMax8Sx8 = 82209,
400     Iop_PwMax16Sx4 = 82210,   400     Iop_PwMax16Sx4 = 82210,
401     Iop_PwMax32Sx2 = 82211,   401     Iop_PwMax32Sx2 = 82211,
402     Iop_PwMax8Ux8 = 82212,   402     Iop_PwMax8Ux8 = 82212,
403     Iop_PwMax16Ux4 = 82213,   403     Iop_PwMax16Ux4 = 82213,
404     Iop_PwMax32Ux2 = 82214,   404     Iop_PwMax32Ux2 = 82214,
405     Iop_PwMin8Sx8 = 82215,   405     Iop_PwMin8Sx8 = 82215,
406     Iop_PwMin16Sx4 = 82216,   406     Iop_PwMin16Sx4 = 82216,
407     Iop_PwMin32Sx2 = 82217,   407     Iop_PwMin32Sx2 = 82217,
408     Iop_PwMin8Ux8 = 82218,   408     Iop_PwMin8Ux8 = 82218,
409     Iop_PwMin16Ux4 = 82219,   409     Iop_PwMin16Ux4 = 82219,
410     Iop_PwMin32Ux2 = 82220,   410     Iop_PwMin32Ux2 = 82220,
411     Iop_PwAddL8Ux8 = 82221,   411     Iop_PwAddL8Ux8 = 82221,
412     Iop_PwAddL16Ux4 = 82222,   412     Iop_PwAddL16Ux4 = 82222,
413     Iop_PwAddL32Ux2 = 82223,   413     Iop_PwAddL32Ux2 = 82223,
414     Iop_PwAddL8Sx8 = 82224,   414     Iop_PwAddL8Sx8 = 82224,
415     Iop_PwAddL16Sx4 = 82225,   415     Iop_PwAddL16Sx4 = 82225,
416     Iop_PwAddL32Sx2 = 82226,   416     Iop_PwAddL32Sx2 = 82226,
417     Iop_Sub8x8 = 82227,   417     Iop_Sub8x8 = 82227,
418     Iop_Sub16x4 = 82228,   418     Iop_Sub16x4 = 82228,
419     Iop_Sub32x2 = 82229,   419     Iop_Sub32x2 = 82229,
420     Iop_QSub8Ux8 = 82230,   420     Iop_QSub8Ux8 = 82230,
421     Iop_QSub16Ux4 = 82231,   421     Iop_QSub16Ux4 = 82231,
422     Iop_QSub32Ux2 = 82232,   422     Iop_QSub32Ux2 = 82232,
423     Iop_QSub64Ux1 = 82233,   423     Iop_QSub64Ux1 = 82233,
424     Iop_QSub8Sx8 = 82234,   424     Iop_QSub8Sx8 = 82234,
425     Iop_QSub16Sx4 = 82235,   425     Iop_QSub16Sx4 = 82235,
426     Iop_QSub32Sx2 = 82236,   426     Iop_QSub32Sx2 = 82236,
427     Iop_QSub64Sx1 = 82237,   427     Iop_QSub64Sx1 = 82237,
428     Iop_Abs8x8 = 82238,   428     Iop_Abs8x8 = 82238,
429     Iop_Abs16x4 = 82239,   429     Iop_Abs16x4 = 82239,
430     Iop_Abs32x2 = 82240,   430     Iop_Abs32x2 = 82240,
431     Iop_Mul8x8 = 82241,   431     Iop_Mul8x8 = 82241,
432     Iop_Mul16x4 = 82242,   432     Iop_Mul16x4 = 82242,
433     Iop_Mul32x2 = 82243,   433     Iop_Mul32x2 = 82243,
434     Iop_Mul32Fx2 = 82244,   434     Iop_Mul32Fx2 = 82244,
435     Iop_MulHi16Ux4 = 82245,   435     Iop_MulHi16Ux4 = 82245,
436     Iop_MulHi16Sx4 = 82246,   436     Iop_MulHi16Sx4 = 82246,
437     Iop_PolynomialMul8x8 = 82247,   437     Iop_PolynomialMul8x8 = 82247,
438     Iop_QDMulHi16Sx4 = 82248,   438     Iop_QDMulHi16Sx4 = 82248,
439     Iop_QDMulHi32Sx2 = 82249,   439     Iop_QDMulHi32Sx2 = 82249,
440     Iop_QRDMulHi16Sx4 = 82250,   440     Iop_QRDMulHi16Sx4 = 82250,
441     Iop_QRDMulHi32Sx2 = 82251,   441     Iop_QRDMulHi32Sx2 = 82251,
442     Iop_Avg8Ux8 = 82252,   442     Iop_Avg8Ux8 = 82252,
443     Iop_Avg16Ux4 = 82253,   443     Iop_Avg16Ux4 = 82253,
444     Iop_Max8Sx8 = 82254,   444     Iop_Max8Sx8 = 82254,
445     Iop_Max16Sx4 = 82255,   445     Iop_Max16Sx4 = 82255,
446     Iop_Max32Sx2 = 82256,   446     Iop_Max32Sx2 = 82256,
447     Iop_Max8Ux8 = 82257,   447     Iop_Max8Ux8 = 82257,
448     Iop_Max16Ux4 = 82258,   448     Iop_Max16Ux4 = 82258,
449     Iop_Max32Ux2 = 82259,   449     Iop_Max32Ux2 = 82259,
450     Iop_Min8Sx8 = 82260,   450     Iop_Min8Sx8 = 82260,
451     Iop_Min16Sx4 = 82261,   451     Iop_Min16Sx4 = 82261,
452     Iop_Min32Sx2 = 82262,   452     Iop_Min32Sx2 = 82262,
453     Iop_Min8Ux8 = 82263,   453     Iop_Min8Ux8 = 82263,
454     Iop_Min16Ux4 = 82264,   454     Iop_Min16Ux4 = 82264,
455     Iop_Min32Ux2 = 82265,   455     Iop_Min32Ux2 = 82265,
456     Iop_CmpEQ8x8 = 82266,   456     Iop_CmpEQ8x8 = 82266,
457     Iop_CmpEQ16x4 = 82267,   457     Iop_CmpEQ16x4 = 82267,
458     Iop_CmpEQ32x2 = 82268,   458     Iop_CmpEQ32x2 = 82268,
459     Iop_CmpGT8Ux8 = 82269,   459     Iop_CmpGT8Ux8 = 82269,
460     Iop_CmpGT16Ux4 = 82270,   460     Iop_CmpGT16Ux4 = 82270,
461     Iop_CmpGT32Ux2 = 82271,   461     Iop_CmpGT32Ux2 = 82271,
462     Iop_CmpGT8Sx8 = 82272,   462     Iop_CmpGT8Sx8 = 82272,
463     Iop_CmpGT16Sx4 = 82273,   463     Iop_CmpGT16Sx4 = 82273,
464     Iop_CmpGT32Sx2 = 82274,   464     Iop_CmpGT32Sx2 = 82274,
465     Iop_Cnt8x8 = 82275,   465     Iop_Cnt8x8 = 82275,
466     Iop_Clz8Sx8 = 82276,   466     Iop_Clz8Sx8 = 82276,
467     Iop_Clz16Sx4 = 82277,   467     Iop_Clz16Sx4 = 82277,
468     Iop_Clz32Sx2 = 82278,   468     Iop_Clz32Sx2 = 82278,
469     Iop_Cls8Sx8 = 82279,   469     Iop_Cls8Sx8 = 82279,
470     Iop_Cls16Sx4 = 82280,   470     Iop_Cls16Sx4 = 82280,
471     Iop_Cls32Sx2 = 82281,   471     Iop_Cls32Sx2 = 82281,
472     Iop_Shl8x8 = 82282,   472     Iop_Shl8x8 = 82282,
473     Iop_Shl16x4 = 82283,   473     Iop_Shl16x4 = 82283,
474     Iop_Shl32x2 = 82284,   474     Iop_Shl32x2 = 82284,
475     Iop_Shr8x8 = 82285,   475     Iop_Shr8x8 = 82285,
476     Iop_Shr16x4 = 82286,   476     Iop_Shr16x4 = 82286,
477     Iop_Shr32x2 = 82287,   477     Iop_Shr32x2 = 82287,
478     Iop_Sar8x8 = 82288,   478     Iop_Sar8x8 = 82288,
479     Iop_Sar16x4 = 82289,   479     Iop_Sar16x4 = 82289,
480     Iop_Sar32x2 = 82290,   480     Iop_Sar32x2 = 82290,
481     Iop_Sal8x8 = 82291,   481     Iop_Sal8x8 = 82291,
482     Iop_Sal16x4 = 82292,   482     Iop_Sal16x4 = 82292,
483     Iop_Sal32x2 = 82293,   483     Iop_Sal32x2 = 82293,
484     Iop_Sal64x1 = 82294,   484     Iop_Sal64x1 = 82294,
485     Iop_ShlN8x8 = 82295,   485     Iop_ShlN8x8 = 82295,
486     Iop_ShlN16x4 = 82296,   486     Iop_ShlN16x4 = 82296,
487     Iop_ShlN32x2 = 82297,   487     Iop_ShlN32x2 = 82297,
488     Iop_ShrN8x8 = 82298,   488     Iop_ShrN8x8 = 82298,
489     Iop_ShrN16x4 = 82299,   489     Iop_ShrN16x4 = 82299,
490     Iop_ShrN32x2 = 82300,   490     Iop_ShrN32x2 = 82300,
491     Iop_SarN8x8 = 82301,   491     Iop_SarN8x8 = 82301,
492     Iop_SarN16x4 = 82302,   492     Iop_SarN16x4 = 82302,
493     Iop_SarN32x2 = 82303,   493     Iop_SarN32x2 = 82303,
494     Iop_QShl8x8 = 82304,   494     Iop_QShl8x8 = 82304,
495     Iop_QShl16x4 = 82305,   495     Iop_QShl16x4 = 82305,
496     Iop_QShl32x2 = 82306,   496     Iop_QShl32x2 = 82306,
497     Iop_QShl64x1 = 82307,   497     Iop_QShl64x1 = 82307,
498     Iop_QSal8x8 = 82308,   498     Iop_QSal8x8 = 82308,
499     Iop_QSal16x4 = 82309,   499     Iop_QSal16x4 = 82309,
500     Iop_QSal32x2 = 82310,   500     Iop_QSal32x2 = 82310,
501     Iop_QSal64x1 = 82311,   501     Iop_QSal64x1 = 82311,
502     Iop_QShlN8Sx8 = 82312,   502     Iop_QShlN8Sx8 = 82312,
503     Iop_QShlN16Sx4 = 82313,   503     Iop_QShlN16Sx4 = 82313,
504     Iop_QShlN32Sx2 = 82314,   504     Iop_QShlN32Sx2 = 82314,
505     Iop_QShlN64Sx1 = 82315,   505     Iop_QShlN64Sx1 = 82315,
506     Iop_QShlN8x8 = 82316,   506     Iop_QShlN8x8 = 82316,
507     Iop_QShlN16x4 = 82317,   507     Iop_QShlN16x4 = 82317,
508     Iop_QShlN32x2 = 82318,   508     Iop_QShlN32x2 = 82318,
509     Iop_QShlN64x1 = 82319,   509     Iop_QShlN64x1 = 82319,
510     Iop_QSalN8x8 = 82320,   510     Iop_QSalN8x8 = 82320,
511     Iop_QSalN16x4 = 82321,   511     Iop_QSalN16x4 = 82321,
512     Iop_QSalN32x2 = 82322,   512     Iop_QSalN32x2 = 82322,
513     Iop_QSalN64x1 = 82323,   513     Iop_QSalN64x1 = 82323,
514     Iop_QNarrowBin16Sto8Ux8 = 82324,   514     Iop_QNarrowBin16Sto8Ux8 = 82324,
515     Iop_QNarrowBin16Sto8Sx8 = 82325,   515     Iop_QNarrowBin16Sto8Sx8 = 82325,
516     Iop_QNarrowBin32Sto16Sx4 = 82326,   516     Iop_QNarrowBin32Sto16Sx4 = 82326,
517     Iop_InterleaveHI8x8 = 82327,   517     Iop_InterleaveHI8x8 = 82327,
518     Iop_InterleaveHI16x4 = 82328,   518     Iop_InterleaveHI16x4 = 82328,
519     Iop_InterleaveHI32x2 = 82329,   519     Iop_InterleaveHI32x2 = 82329,
520     Iop_InterleaveLO8x8 = 82330,   520     Iop_InterleaveLO8x8 = 82330,
521     Iop_InterleaveLO16x4 = 82331,   521     Iop_InterleaveLO16x4 = 82331,
522     Iop_InterleaveLO32x2 = 82332,   522     Iop_InterleaveLO32x2 = 82332,
523     Iop_InterleaveOddLanes8x8 = 82333,   523     Iop_InterleaveOddLanes8x8 = 82333,
524     Iop_InterleaveEvenLanes8x8 = 82334,   524     Iop_InterleaveEvenLanes8x8 = 82334,
525     Iop_InterleaveOddLanes16x4 = 82335,   525     Iop_InterleaveOddLanes16x4 = 82335,
526     Iop_InterleaveEvenLanes16x4 = 82336,   526     Iop_InterleaveEvenLanes16x4 = 82336,
527     Iop_CatOddLanes8x8 = 82337,   527     Iop_CatOddLanes8x8 = 82337,
528     Iop_CatOddLanes16x4 = 82338,   528     Iop_CatOddLanes16x4 = 82338,
529     Iop_CatEvenLanes8x8 = 82339,   529     Iop_CatEvenLanes8x8 = 82339,
530     Iop_CatEvenLanes16x4 = 82340,   530     Iop_CatEvenLanes16x4 = 82340,
531     Iop_GetElem8x8 = 82341,   531     Iop_GetElem8x8 = 82341,
532     Iop_GetElem16x4 = 82342,   532     Iop_GetElem16x4 = 82342,
533     Iop_GetElem32x2 = 82343,   533     Iop_GetElem32x2 = 82343,
534     Iop_SetElem8x8 = 82344,   534     Iop_SetElem8x8 = 82344,
535     Iop_SetElem16x4 = 82345,   535     Iop_SetElem16x4 = 82345,
536     Iop_SetElem32x2 = 82346,   536     Iop_SetElem32x2 = 82346,
537     Iop_Dup8x8 = 82347,   537     Iop_Dup8x8 = 82347,
538     Iop_Dup16x4 = 82348,   538     Iop_Dup16x4 = 82348,
539     Iop_Dup32x2 = 82349,   539     Iop_Dup32x2 = 82349,
540     Iop_Extract64 = 82350,   540     Iop_Extract64 = 82350,
541     Iop_Reverse16_8x8 = 82351,   541     Iop_Reverse16_8x8 = 82351,
542     Iop_Reverse32_8x8 = 82352,   542     Iop_Reverse32_8x8 = 82352,
543     Iop_Reverse32_16x4 = 82353,   543     Iop_Reverse32_16x4 = 82353,
544     Iop_Reverse64_8x8 = 82354,   544     Iop_Reverse64_8x8 = 82354,
545     Iop_Reverse64_16x4 = 82355,   545     Iop_Reverse64_16x4 = 82355,
546     Iop_Reverse64_32x2 = 82356,   546     Iop_Reverse64_32x2 = 82356,
547     Iop_Perm8x8 = 82357,   547     Iop_Perm8x8 = 82357,
548     Iop_Recip32x2 = 82358,   548     Iop_Recip32x2 = 82358,
549     Iop_Rsqrte32x2 = 82359,   549     Iop_Rsqrte32x2 = 82359,
550     Iop_Add32Fx4 = 82360,   550     Iop_Add32Fx4 = 82360,
551     Iop_Sub32Fx4 = 82361,   551     Iop_Sub32Fx4 = 82361,
552     Iop_Mul32Fx4 = 82362,   552     Iop_Mul32Fx4 = 82362,
553     Iop_Div32Fx4 = 82363,   553     Iop_Div32Fx4 = 82363,
554     Iop_Max32Fx4 = 82364,   554     Iop_Max32Fx4 = 82364,
555     Iop_Min32Fx4 = 82365,   555     Iop_Min32Fx4 = 82365,
556     Iop_Add32Fx2 = 82366,   556     Iop_Add32Fx2 = 82366,
557     Iop_Sub32Fx2 = 82367,   557     Iop_Sub32Fx2 = 82367,
558     Iop_CmpEQ32Fx4 = 82368,   558     Iop_CmpEQ32Fx4 = 82368,
559     Iop_CmpLT32Fx4 = 82369,   559     Iop_CmpLT32Fx4 = 82369,
560     Iop_CmpLE32Fx4 = 82370,   560     Iop_CmpLE32Fx4 = 82370,
561     Iop_CmpUN32Fx4 = 82371,   561     Iop_CmpUN32Fx4 = 82371,
562     Iop_CmpGT32Fx4 = 82372,   562     Iop_CmpGT32Fx4 = 82372,
563     Iop_CmpGE32Fx4 = 82373,   563     Iop_CmpGE32Fx4 = 82373,
564     Iop_Abs32Fx4 = 82374,   564     Iop_Abs32Fx4 = 82374,
565     Iop_PwMax32Fx4 = 82375,   565     Iop_PwMax32Fx4 = 82375,
566     Iop_PwMin32Fx4 = 82376,   566     Iop_PwMin32Fx4 = 82376,
567     Iop_Sqrt32Fx4 = 82377,   567     Iop_Sqrt32Fx4 = 82377,
568     Iop_RSqrt32Fx4 = 82378,   568     Iop_RSqrt32Fx4 = 82378,
569     Iop_Neg32Fx4 = 82379,   569     Iop_Neg32Fx4 = 82379,
570     Iop_Recip32Fx4 = 82380,   570     Iop_Recip32Fx4 = 82380,
571     Iop_Recps32Fx4 = 82381,   571     Iop_Recps32Fx4 = 82381,
572     Iop_Rsqrte32Fx4 = 82382,   572     Iop_Rsqrte32Fx4 = 82382,
573     Iop_Rsqrts32Fx4 = 82383,   573     Iop_Rsqrts32Fx4 = 82383,
574     Iop_I32UtoFx4 = 82384,   574     Iop_I32UtoFx4 = 82384,
575     Iop_I32StoFx4 = 82385,   575     Iop_I32StoFx4 = 82385,
576     Iop_FtoI32Ux4_RZ = 82386,   576     Iop_FtoI32Ux4_RZ = 82386,
577     Iop_FtoI32Sx4_RZ = 82387,   577     Iop_FtoI32Sx4_RZ = 82387,
578     Iop_QFtoI32Ux4_RZ = 82388,   578     Iop_QFtoI32Ux4_RZ = 82388,
579     Iop_QFtoI32Sx4_RZ = 82389,   579     Iop_QFtoI32Sx4_RZ = 82389,
580     Iop_RoundF32x4_RM = 82390,   580     Iop_RoundF32x4_RM = 82390,
581     Iop_RoundF32x4_RP = 82391,   581     Iop_RoundF32x4_RP = 82391,
582     Iop_RoundF32x4_RN = 82392,   582     Iop_RoundF32x4_RN = 82392,
583     Iop_RoundF32x4_RZ = 82393,   583     Iop_RoundF32x4_RZ = 82393,
584     Iop_F32ToFixed32Ux4_RZ = 82394,   584     Iop_F32ToFixed32Ux4_RZ = 82394,
585     Iop_F32ToFixed32Sx4_RZ = 82395,   585     Iop_F32ToFixed32Sx4_RZ = 82395,
586     Iop_Fixed32UToF32x4_RN = 82396,   586     Iop_Fixed32UToF32x4_RN = 82396,
587     Iop_Fixed32SToF32x4_RN = 82397,   587     Iop_Fixed32SToF32x4_RN = 82397,
588     Iop_F32toF16x4 = 82398,   588     Iop_F32toF16x4 = 82398,
589     Iop_F16toF32x4 = 82399,   589     Iop_F16toF32x4 = 82399,
590     Iop_Add32F0x4 = 82400,   590     Iop_Add32F0x4 = 82400,
591     Iop_Sub32F0x4 = 82401,   591     Iop_Sub32F0x4 = 82401,
592     Iop_Mul32F0x4 = 82402,   592     Iop_Mul32F0x4 = 82402,
593     Iop_Div32F0x4 = 82403,   593     Iop_Div32F0x4 = 82403,
594     Iop_Max32F0x4 = 82404,   594     Iop_Max32F0x4 = 82404,
595     Iop_Min32F0x4 = 82405,   595     Iop_Min32F0x4 = 82405,
596     Iop_CmpEQ32F0x4 = 82406,   596     Iop_CmpEQ32F0x4 = 82406,
597     Iop_CmpLT32F0x4 = 82407,   597     Iop_CmpLT32F0x4 = 82407,
598     Iop_CmpLE32F0x4 = 82408,   598     Iop_CmpLE32F0x4 = 82408,
599     Iop_CmpUN32F0x4 = 82409,   599     Iop_CmpUN32F0x4 = 82409,
600     Iop_Recip32F0x4 = 82410,   600     Iop_Recip32F0x4 = 82410,
601     Iop_Sqrt32F0x4 = 82411,   601     Iop_Sqrt32F0x4 = 82411,
602     Iop_RSqrt32F0x4 = 82412,   602     Iop_RSqrt32F0x4 = 82412,
603     Iop_Add64Fx2 = 82413,   603     Iop_Add64Fx2 = 82413,
604     Iop_Sub64Fx2 = 82414,   604     Iop_Sub64Fx2 = 82414,
605     Iop_Mul64Fx2 = 82415,   605     Iop_Mul64Fx2 = 82415,
606     Iop_Div64Fx2 = 82416,   606     Iop_Div64Fx2 = 82416,
607     Iop_Max64Fx2 = 82417,   607     Iop_Max64Fx2 = 82417,
608     Iop_Min64Fx2 = 82418,   608     Iop_Min64Fx2 = 82418,
609     Iop_CmpEQ64Fx2 = 82419,   609     Iop_CmpEQ64Fx2 = 82419,
610     Iop_CmpLT64Fx2 = 82420,   610     Iop_CmpLT64Fx2 = 82420,
611     Iop_CmpLE64Fx2 = 82421,   611     Iop_CmpLE64Fx2 = 82421,
612     Iop_CmpUN64Fx2 = 82422,   612     Iop_CmpUN64Fx2 = 82422,
613     Iop_Recip64Fx2 = 82423,   613     Iop_Recip64Fx2 = 82423,
614     Iop_Sqrt64Fx2 = 82424,   614     Iop_Sqrt64Fx2 = 82424,
615     Iop_RSqrt64Fx2 = 82425,   615     Iop_RSqrt64Fx2 = 82425,
616     Iop_Add64F0x2 = 82426,   616     Iop_Add64F0x2 = 82426,
617     Iop_Sub64F0x2 = 82427,   617     Iop_Sub64F0x2 = 82427,
618     Iop_Mul64F0x2 = 82428,   618     Iop_Mul64F0x2 = 82428,
619     Iop_Div64F0x2 = 82429,   619     Iop_Div64F0x2 = 82429,
620     Iop_Max64F0x2 = 82430,   620     Iop_Max64F0x2 = 82430,
621     Iop_Min64F0x2 = 82431,   621     Iop_Min64F0x2 = 82431,
622     Iop_CmpEQ64F0x2 = 82432,   622     Iop_CmpEQ64F0x2 = 82432,
623     Iop_CmpLT64F0x2 = 82433,   623     Iop_CmpLT64F0x2 = 82433,
624     Iop_CmpLE64F0x2 = 82434,   624     Iop_CmpLE64F0x2 = 82434,
625     Iop_CmpUN64F0x2 = 82435,   625     Iop_CmpUN64F0x2 = 82435,
626     Iop_Recip64F0x2 = 82436,   626     Iop_Recip64F0x2 = 82436,
627     Iop_Sqrt64F0x2 = 82437,   627     Iop_Sqrt64F0x2 = 82437,
628     Iop_RSqrt64F0x2 = 82438,   628     Iop_RSqrt64F0x2 = 82438,
629     Iop_V128to64 = 82439,   629     Iop_V128to64 = 82439,
630     Iop_V128HIto64 = 82440,   630     Iop_V128HIto64 = 82440,
631     Iop_64HLtoV128 = 82441,   631     Iop_64HLtoV128 = 82441,
632     Iop_64UtoV128 = 82442,   632     Iop_64UtoV128 = 82442,
633     Iop_SetV128lo64 = 82443,   633     Iop_SetV128lo64 = 82443,
634     Iop_32UtoV128 = 82444,   634     Iop_32UtoV128 = 82444,
635     Iop_V128to32 = 82445,   635     Iop_V128to32 = 82445,
636     Iop_SetV128lo32 = 82446,   636     Iop_SetV128lo32 = 82446,
637     Iop_NotV128 = 82447,   637     Iop_NotV128 = 82447,
638     Iop_AndV128 = 82448,   638     Iop_AndV128 = 82448,
639     Iop_OrV128 = 82449,   639     Iop_OrV128 = 82449,
640     Iop_XorV128 = 82450,   640     Iop_XorV128 = 82450,
641     Iop_ShlV128 = 82451,   641     Iop_ShlV128 = 82451,
642     Iop_ShrV128 = 82452,   642     Iop_ShrV128 = 82452,
643     Iop_CmpNEZ8x16 = 82453,   643     Iop_CmpNEZ8x16 = 82453,
644     Iop_CmpNEZ16x8 = 82454,   644     Iop_CmpNEZ16x8 = 82454,
645     Iop_CmpNEZ32x4 = 82455,   645     Iop_CmpNEZ32x4 = 82455,
646     Iop_CmpNEZ64x2 = 82456,   646     Iop_CmpNEZ64x2 = 82456,
647     Iop_Add8x16 = 82457,   647     Iop_Add8x16 = 82457,
648     Iop_Add16x8 = 82458,   648     Iop_Add16x8 = 82458,
649     Iop_Add32x4 = 82459,   649     Iop_Add32x4 = 82459,
650     Iop_Add64x2 = 82460,   650     Iop_Add64x2 = 82460,
651     Iop_QAdd8Ux16 = 82461,   651     Iop_QAdd8Ux16 = 82461,
652     Iop_QAdd16Ux8 = 82462,   652     Iop_QAdd16Ux8 = 82462,
653     Iop_QAdd32Ux4 = 82463,   653     Iop_QAdd32Ux4 = 82463,
654     Iop_QAdd64Ux2 = 82464,   654     Iop_QAdd64Ux2 = 82464,
655     Iop_QAdd8Sx16 = 82465,   655     Iop_QAdd8Sx16 = 82465,
656     Iop_QAdd16Sx8 = 82466,   656     Iop_QAdd16Sx8 = 82466,
657     Iop_QAdd32Sx4 = 82467,   657     Iop_QAdd32Sx4 = 82467,
658     Iop_QAdd64Sx2 = 82468,   658     Iop_QAdd64Sx2 = 82468,
659     Iop_Sub8x16 = 82469,   659     Iop_Sub8x16 = 82469,
660     Iop_Sub16x8 = 82470,   660     Iop_Sub16x8 = 82470,
661     Iop_Sub32x4 = 82471,   661     Iop_Sub32x4 = 82471,
662     Iop_Sub64x2 = 82472,   662     Iop_Sub64x2 = 82472,
663     Iop_QSub8Ux16 = 82473,   663     Iop_QSub8Ux16 = 82473,
664     Iop_QSub16Ux8 = 82474,   664     Iop_QSub16Ux8 = 82474,
665     Iop_QSub32Ux4 = 82475,   665     Iop_QSub32Ux4 = 82475,
666     Iop_QSub64Ux2 = 82476,   666     Iop_QSub64Ux2 = 82476,
667     Iop_QSub8Sx16 = 82477,   667     Iop_QSub8Sx16 = 82477,
668     Iop_QSub16Sx8 = 82478,   668     Iop_QSub16Sx8 = 82478,
669     Iop_QSub32Sx4 = 82479,   669     Iop_QSub32Sx4 = 82479,
670     Iop_QSub64Sx2 = 82480,   670     Iop_QSub64Sx2 = 82480,
671     Iop_Mul8x16 = 82481,   671     Iop_Mul8x16 = 82481,
672     Iop_Mul16x8 = 82482,   672     Iop_Mul16x8 = 82482,
673     Iop_Mul32x4 = 82483,   673     Iop_Mul32x4 = 82483,
674     Iop_MulHi16Ux8 = 82484,   674     Iop_MulHi16Ux8 = 82484,
675     Iop_MulHi32Ux4 = 82485,   675     Iop_MulHi32Ux4 = 82485,
676     Iop_MulHi16Sx8 = 82486,   676     Iop_MulHi16Sx8 = 82486,
677     Iop_MulHi32Sx4 = 82487,   677     Iop_MulHi32Sx4 = 82487,
678     Iop_MullEven8Ux16 = 82488,   678     Iop_MullEven8Ux16 = 82488,
679     Iop_MullEven16Ux8 = 82489,   679     Iop_MullEven16Ux8 = 82489,
680     Iop_MullEven8Sx16 = 82490,   680     Iop_MullEven8Sx16 = 82490,
681     Iop_MullEven16Sx8 = 82491,   681     Iop_MullEven16Sx8 = 82491,
682     Iop_Mull8Ux8 = 82492,   682     Iop_Mull8Ux8 = 82492,
683     Iop_Mull8Sx8 = 82493,   683     Iop_Mull8Sx8 = 82493,
684     Iop_Mull16Ux4 = 82494,   684     Iop_Mull16Ux4 = 82494,
685     Iop_Mull16Sx4 = 82495,   685     Iop_Mull16Sx4 = 82495,
686     Iop_Mull32Ux2 = 82496,   686     Iop_Mull32Ux2 = 82496,
687     Iop_Mull32Sx2 = 82497,   687     Iop_Mull32Sx2 = 82497,
688     Iop_QDMulHi16Sx8 = 82498,   688     Iop_QDMulHi16Sx8 = 82498,
689     Iop_QDMulHi32Sx4 = 82499,   689     Iop_QDMulHi32Sx4 = 82499,
690     Iop_QRDMulHi16Sx8 = 82500,   690     Iop_QRDMulHi16Sx8 = 82500,
691     Iop_QRDMulHi32Sx4 = 82501,   691     Iop_QRDMulHi32Sx4 = 82501,
692     Iop_QDMulLong16Sx4 = 82502,   692     Iop_QDMulLong16Sx4 = 82502,
693     Iop_QDMulLong32Sx2 = 82503,   693     Iop_QDMulLong32Sx2 = 82503,
694     Iop_PolynomialMul8x16 = 82504,   694     Iop_PolynomialMul8x16 = 82504,
695     Iop_PolynomialMull8x8 = 82505,   695     Iop_PolynomialMull8x8 = 82505,
696     Iop_PwAdd8x16 = 82506,   696     Iop_PwAdd8x16 = 82506,
697     Iop_PwAdd16x8 = 82507,   697     Iop_PwAdd16x8 = 82507,
698     Iop_PwAdd32x4 = 82508,   698     Iop_PwAdd32x4 = 82508,
699     Iop_PwAdd32Fx2 = 82509,   699     Iop_PwAdd32Fx2 = 82509,
700     Iop_PwAddL8Ux16 = 82510,   700     Iop_PwAddL8Ux16 = 82510,
701     Iop_PwAddL16Ux8 = 82511,   701     Iop_PwAddL16Ux8 = 82511,
702     Iop_PwAddL32Ux4 = 82512,   702     Iop_PwAddL32Ux4 = 82512,
703     Iop_PwAddL8Sx16 = 82513,   703     Iop_PwAddL8Sx16 = 82513,
704     Iop_PwAddL16Sx8 = 82514,   704     Iop_PwAddL16Sx8 = 82514,
705     Iop_PwAddL32Sx4 = 82515,   705     Iop_PwAddL32Sx4 = 82515,
706     Iop_Abs8x16 = 82516,   706     Iop_Abs8x16 = 82516,
707     Iop_Abs16x8 = 82517,   707     Iop_Abs16x8 = 82517,
708     Iop_Abs32x4 = 82518,   708     Iop_Abs32x4 = 82518,
709     Iop_Avg8Ux16 = 82519,   709     Iop_Avg8Ux16 = 82519,
710     Iop_Avg16Ux8 = 82520,   710     Iop_Avg16Ux8 = 82520,
711     Iop_Avg32Ux4 = 82521,   711     Iop_Avg32Ux4 = 82521,
712     Iop_Avg8Sx16 = 82522,   712     Iop_Avg8Sx16 = 82522,
713     Iop_Avg16Sx8 = 82523,   713     Iop_Avg16Sx8 = 82523,
714     Iop_Avg32Sx4 = 82524,   714     Iop_Avg32Sx4 = 82524,
715     Iop_Max8Sx16 = 82525,   715     Iop_Max8Sx16 = 82525,
716     Iop_Max16Sx8 = 82526,   716     Iop_Max16Sx8 = 82526,
717     Iop_Max32Sx4 = 82527,   717     Iop_Max32Sx4 = 82527,
718     Iop_Max8Ux16 = 82528,   718     Iop_Max8Ux16 = 82528,
719     Iop_Max16Ux8 = 82529,   719     Iop_Max16Ux8 = 82529,
720     Iop_Max32Ux4 = 82530,   720     Iop_Max32Ux4 = 82530,
721     Iop_Min8Sx16 = 82531,   721     Iop_Min8Sx16 = 82531,
722     Iop_Min16Sx8 = 82532,   722     Iop_Min16Sx8 = 82532,
723     Iop_Min32Sx4 = 82533,   723     Iop_Min32Sx4 = 82533,
724     Iop_Min8Ux16 = 82534,   724     Iop_Min8Ux16 = 82534,
725     Iop_Min16Ux8 = 82535,   725     Iop_Min16Ux8 = 82535,
726     Iop_Min32Ux4 = 82536,   726     Iop_Min32Ux4 = 82536,
727     Iop_CmpEQ8x16 = 82537,   727     Iop_CmpEQ8x16 = 82537,
728     Iop_CmpEQ16x8 = 82538,   728     Iop_CmpEQ16x8 = 82538,
729     Iop_CmpEQ32x4 = 82539,   729     Iop_CmpEQ32x4 = 82539,
730     Iop_CmpGT8Sx16 = 82540,   730     Iop_CmpGT8Sx16 = 82540,
731     Iop_CmpGT16Sx8 = 82541,   731     Iop_CmpGT16Sx8 = 82541,
732     Iop_CmpGT32Sx4 = 82542,   732     Iop_CmpGT32Sx4 = 82542,
733     Iop_CmpGT64Sx2 = 82543,   733     Iop_CmpGT64Sx2 = 82543,
734     Iop_CmpGT8Ux16 = 82544,   734     Iop_CmpGT8Ux16 = 82544,
735     Iop_CmpGT16Ux8 = 82545,   735     Iop_CmpGT16Ux8 = 82545,
736     Iop_CmpGT32Ux4 = 82546,   736     Iop_CmpGT32Ux4 = 82546,
737     Iop_Cnt8x16 = 82547,   737     Iop_Cnt8x16 = 82547,
738     Iop_Clz8Sx16 = 82548,   738     Iop_Clz8Sx16 = 82548,
739     Iop_Clz16Sx8 = 82549,   739     Iop_Clz16Sx8 = 82549,
740     Iop_Clz32Sx4 = 82550,   740     Iop_Clz32Sx4 = 82550,
741     Iop_Cls8Sx16 = 82551,   741     Iop_Cls8Sx16 = 82551,
742     Iop_Cls16Sx8 = 82552,   742     Iop_Cls16Sx8 = 82552,
743     Iop_Cls32Sx4 = 82553,   743     Iop_Cls32Sx4 = 82553,
744     Iop_ShlN8x16 = 82554,   744     Iop_ShlN8x16 = 82554,
745     Iop_ShlN16x8 = 82555,   745     Iop_ShlN16x8 = 82555,
746     Iop_ShlN32x4 = 82556,   746     Iop_ShlN32x4 = 82556,
747     Iop_ShlN64x2 = 82557,   747     Iop_ShlN64x2 = 82557,
748     Iop_ShrN8x16 = 82558,   748     Iop_ShrN8x16 = 82558,
749     Iop_ShrN16x8 = 82559,   749     Iop_ShrN16x8 = 82559,
750     Iop_ShrN32x4 = 82560,   750     Iop_ShrN32x4 = 82560,
751     Iop_ShrN64x2 = 82561,   751     Iop_ShrN64x2 = 82561,
752     Iop_SarN8x16 = 82562,   752     Iop_SarN8x16 = 82562,
753     Iop_SarN16x8 = 82563,   753     Iop_SarN16x8 = 82563,
754     Iop_SarN32x4 = 82564,   754     Iop_SarN32x4 = 82564,
755     Iop_SarN64x2 = 82565,   755     Iop_SarN64x2 = 82565,
756     Iop_Shl8x16 = 82566,   756     Iop_Shl8x16 = 82566,
757     Iop_Shl16x8 = 82567,   757     Iop_Shl16x8 = 82567,
758     Iop_Shl32x4 = 82568,   758     Iop_Shl32x4 = 82568,
759     Iop_Shl64x2 = 82569,   759     Iop_Shl64x2 = 82569,
760     Iop_Shr8x16 = 82570,   760     Iop_Shr8x16 = 82570,
761     Iop_Shr16x8 = 82571,   761     Iop_Shr16x8 = 82571,
762     Iop_Shr32x4 = 82572,   762     Iop_Shr32x4 = 82572,
763     Iop_Shr64x2 = 82573,   763     Iop_Shr64x2 = 82573,
764     Iop_Sar8x16 = 82574,   764     Iop_Sar8x16 = 82574,
765     Iop_Sar16x8 = 82575,   765     Iop_Sar16x8 = 82575,
766     Iop_Sar32x4 = 82576,   766     Iop_Sar32x4 = 82576,
767     Iop_Sar64x2 = 82577,   767     Iop_Sar64x2 = 82577,
768     Iop_Sal8x16 = 82578,   768     Iop_Sal8x16 = 82578,
769     Iop_Sal16x8 = 82579,   769     Iop_Sal16x8 = 82579,
770     Iop_Sal32x4 = 82580,   770     Iop_Sal32x4 = 82580,
771     Iop_Sal64x2 = 82581,   771     Iop_Sal64x2 = 82581,
772     Iop_Rol8x16 = 82582,   772     Iop_Rol8x16 = 82582,
773     Iop_Rol16x8 = 82583,   773     Iop_Rol16x8 = 82583,
774     Iop_Rol32x4 = 82584,   774     Iop_Rol32x4 = 82584,
775     Iop_QShl8x16 = 82585,   775     Iop_QShl8x16 = 82585,
776     Iop_QShl16x8 = 82586,   776     Iop_QShl16x8 = 82586,
777     Iop_QShl32x4 = 82587,   777     Iop_QShl32x4 = 82587,
778     Iop_QShl64x2 = 82588,   778     Iop_QShl64x2 = 82588,
779     Iop_QSal8x16 = 82589,   779     Iop_QSal8x16 = 82589,
780     Iop_QSal16x8 = 82590,   780     Iop_QSal16x8 = 82590,
781     Iop_QSal32x4 = 82591,   781     Iop_QSal32x4 = 82591,
782     Iop_QSal64x2 = 82592,   782     Iop_QSal64x2 = 82592,
783     Iop_QShlN8Sx16 = 82593,   783     Iop_QShlN8Sx16 = 82593,
784     Iop_QShlN16Sx8 = 82594,   784     Iop_QShlN16Sx8 = 82594,
785     Iop_QShlN32Sx4 = 82595,   785     Iop_QShlN32Sx4 = 82595,
786     Iop_QShlN64Sx2 = 82596,   786     Iop_QShlN64Sx2 = 82596,
787     Iop_QShlN8x16 = 82597,   787     Iop_QShlN8x16 = 82597,
788     Iop_QShlN16x8 = 82598,   788     Iop_QShlN16x8 = 82598,
789     Iop_QShlN32x4 = 82599,   789     Iop_QShlN32x4 = 82599,
790     Iop_QShlN64x2 = 82600,   790     Iop_QShlN64x2 = 82600,
791     Iop_QSalN8x16 = 82601,   791     Iop_QSalN8x16 = 82601,
792     Iop_QSalN16x8 = 82602,   792     Iop_QSalN16x8 = 82602,
793     Iop_QSalN32x4 = 82603,   793     Iop_QSalN32x4 = 82603,
794     Iop_QSalN64x2 = 82604,   794     Iop_QSalN64x2 = 82604,
795     Iop_QNarrowBin16Sto8Ux16 = 82605,   795     Iop_QNarrowBin16Sto8Ux16 = 82605,
796     Iop_QNarrowBin32Sto16Ux8 = 82606,   796     Iop_QNarrowBin32Sto16Ux8 = 82606,
797     Iop_QNarrowBin16Sto8Sx16 = 82607,   797     Iop_QNarrowBin16Sto8Sx16 = 82607,
798     Iop_QNarrowBin32Sto16Sx8 = 82608,   798     Iop_QNarrowBin32Sto16Sx8 = 82608,
799     Iop_QNarrowBin16Uto8Ux16 = 82609,   799     Iop_QNarrowBin16Uto8Ux16 = 82609,
800     Iop_QNarrowBin32Uto16Ux8 = 82610,   800     Iop_QNarrowBin32Uto16Ux8 = 82610,
801     Iop_NarrowBin16to8x16 = 82611,   801     Iop_NarrowBin16to8x16 = 82611,
802     Iop_NarrowBin32to16x8 = 82612,   802     Iop_NarrowBin32to16x8 = 82612,
803     Iop_NarrowUn16to8x8 = 82613,   803     Iop_NarrowUn16to8x8 = 82613,
804     Iop_NarrowUn32to16x4 = 82614,   804     Iop_NarrowUn32to16x4 = 82614,
805     Iop_NarrowUn64to32x2 = 82615,   805     Iop_NarrowUn64to32x2 = 82615,
806     Iop_QNarrowUn16Sto8Sx8 = 82616,   806     Iop_QNarrowUn16Sto8Sx8 = 82616,
807     Iop_QNarrowUn32Sto16Sx4 = 82617,   807     Iop_QNarrowUn32Sto16Sx4 = 82617,
808     Iop_QNarrowUn64Sto32Sx2 = 82618,   808     Iop_QNarrowUn64Sto32Sx2 = 82618,
809     Iop_QNarrowUn16Sto8Ux8 = 82619,   809     Iop_QNarrowUn16Sto8Ux8 = 82619,
810     Iop_QNarrowUn32Sto16Ux4 = 82620,   810     Iop_QNarrowUn32Sto16Ux4 = 82620,
811     Iop_QNarrowUn64Sto32Ux2 = 82621,   811     Iop_QNarrowUn64Sto32Ux2 = 82621,
812     Iop_QNarrowUn16Uto8Ux8 = 82622,   812     Iop_QNarrowUn16Uto8Ux8 = 82622,
813     Iop_QNarrowUn32Uto16Ux4 = 82623,   813     Iop_QNarrowUn32Uto16Ux4 = 82623,
814     Iop_QNarrowUn64Uto32Ux2 = 82624,   814     Iop_QNarrowUn64Uto32Ux2 = 82624,
815     Iop_Widen8Uto16x8 = 82625,   815     Iop_Widen8Uto16x8 = 82625,
816     Iop_Widen16Uto32x4 = 82626,   816     Iop_Widen16Uto32x4 = 82626,
817     Iop_Widen32Uto64x2 = 82627,   817     Iop_Widen32Uto64x2 = 82627,
818     Iop_Widen8Sto16x8 = 82628,   818     Iop_Widen8Sto16x8 = 82628,
819     Iop_Widen16Sto32x4 = 82629,   819     Iop_Widen16Sto32x4 = 82629,
820     Iop_Widen32Sto64x2 = 82630,   820     Iop_Widen32Sto64x2 = 82630,
821     Iop_InterleaveHI8x16 = 82631,   821     Iop_InterleaveHI8x16 = 82631,
822     Iop_InterleaveHI16x8 = 82632,   822     Iop_InterleaveHI16x8 = 82632,
823     Iop_InterleaveHI32x4 = 82633,   823     Iop_InterleaveHI32x4 = 82633,
824     Iop_InterleaveHI64x2 = 82634,   824     Iop_InterleaveHI64x2 = 82634,
825     Iop_InterleaveLO8x16 = 82635,   825     Iop_InterleaveLO8x16 = 82635,
826     Iop_InterleaveLO16x8 = 82636,   826     Iop_InterleaveLO16x8 = 82636,
827     Iop_InterleaveLO32x4 = 82637,   827     Iop_InterleaveLO32x4 = 82637,
828     Iop_InterleaveLO64x2 = 82638,   828     Iop_InterleaveLO64x2 = 82638,
829     Iop_InterleaveOddLanes8x16 = 82639,   829     Iop_InterleaveOddLanes8x16 = 82639,
830     Iop_InterleaveEvenLanes8x16 = 82640,   830     Iop_InterleaveEvenLanes8x16 = 82640,
831     Iop_InterleaveOddLanes16x8 = 82641,   831     Iop_InterleaveOddLanes16x8 = 82641,
832     Iop_InterleaveEvenLanes16x8 = 82642,   832     Iop_InterleaveEvenLanes16x8 = 82642,
833     Iop_InterleaveOddLanes32x4 = 82643,   833     Iop_InterleaveOddLanes32x4 = 82643,
834     Iop_InterleaveEvenLanes32x4 = 82644,   834     Iop_InterleaveEvenLanes32x4 = 82644,
835     Iop_CatOddLanes8x16 = 82645,   835     Iop_CatOddLanes8x16 = 82645,
836     Iop_CatOddLanes16x8 = 82646,   836     Iop_CatOddLanes16x8 = 82646,
837     Iop_CatOddLanes32x4 = 82647,   837     Iop_CatOddLanes32x4 = 82647,
838     Iop_CatEvenLanes8x16 = 82648,   838     Iop_CatEvenLanes8x16 = 82648,
839     Iop_CatEvenLanes16x8 = 82649,   839     Iop_CatEvenLanes16x8 = 82649,
840     Iop_CatEvenLanes32x4 = 82650,   840     Iop_CatEvenLanes32x4 = 82650,
841     Iop_GetElem8x16 = 82651,   841     Iop_GetElem8x16 = 82651,
842     Iop_GetElem16x8 = 82652,   842     Iop_GetElem16x8 = 82652,
843     Iop_GetElem32x4 = 82653,   843     Iop_GetElem32x4 = 82653,
844     Iop_GetElem64x2 = 82654,   844     Iop_GetElem64x2 = 82654,
845     Iop_Dup8x16 = 82655,   845     Iop_Dup8x16 = 82655,
846     Iop_Dup16x8 = 82656,   846     Iop_Dup16x8 = 82656,
847     Iop_Dup32x4 = 82657,   847     Iop_Dup32x4 = 82657,
848     Iop_ExtractV128 = 82658,   848     Iop_ExtractV128 = 82658,
849     Iop_Reverse16_8x16 = 82659,   849     Iop_Reverse16_8x16 = 82659,
850     Iop_Reverse32_8x16 = 82660,   850     Iop_Reverse32_8x16 = 82660,
851     Iop_Reverse32_16x8 = 82661,   851     Iop_Reverse32_16x8 = 82661,
852     Iop_Reverse64_8x16 = 82662,   852     Iop_Reverse64_8x16 = 82662,
853     Iop_Reverse64_16x8 = 82663,   853     Iop_Reverse64_16x8 = 82663,
854     Iop_Reverse64_32x4 = 82664,   854     Iop_Reverse64_32x4 = 82664,
855     Iop_Perm8x16 = 82665,   855     Iop_Perm8x16 = 82665,
856     Iop_Recip32x4 = 82666,   856     Iop_Recip32x4 = 82666,
857     Iop_Rsqrte32x4 = 82667   857     Iop_Rsqrte32x4 = 82667
858 } ;   858 } ;
859 typedef enum __anonenum_IROp_10 IROp;   859 typedef enum __anonenum_IROp_10 IROp;
860 enum __anonenum_IRRoundingMode_11 {   860 enum __anonenum_IRRoundingMode_11 {
861     Irrm_NEAREST = 0,   861     Irrm_NEAREST = 0,
862     Irrm_NegINF = 1,   862     Irrm_NegINF = 1,
863     Irrm_PosINF = 2,   863     Irrm_PosINF = 2,
864     Irrm_ZERO = 3   864     Irrm_ZERO = 3
865 } ;   865 } ;
866 typedef enum __anonenum_IRRoundingMode_11 IRRoundingMode;   866 typedef enum __anonenum_IRRoundingMode_11 IRRoundingMode;
867 enum __anonenum_IRCmpF64Result_12 {   867 enum __anonenum_IRCmpF64Result_12 {
868     Ircr_UN = 69,   868     Ircr_UN = 69,
869     Ircr_LT = 1,   869     Ircr_LT = 1,
870     Ircr_GT = 0,   870     Ircr_GT = 0,
871     Ircr_EQ = 64   871     Ircr_EQ = 64
872 } ;   872 } ;
873 typedef enum __anonenum_IRCmpF64Result_12 IRCmpF64Result;   873 typedef enum __anonenum_IRCmpF64Result_12 IRCmpF64Result;
874 typedef IRCmpF64Result IRCmpF32Result;   874 typedef IRCmpF64Result IRCmpF32Result;
875 typedef IRCmpF64Result IRCmpF128Result;   875 typedef IRCmpF64Result IRCmpF128Result;
876 enum __anonenum_IRExprTag_13 {   876 enum __anonenum_IRExprTag_13 {
877     Iex_Binder = 86016,   877     Iex_Binder = 86016,
878     Iex_Get = 86017,   878     Iex_Get = 86017,
879     Iex_GetI = 86018,   879     Iex_GetI = 86018,
880     Iex_RdTmp = 86019,   880     Iex_RdTmp = 86019,
881     Iex_Qop = 86020,   881     Iex_Qop = 86020,
882     Iex_Triop = 86021,   882     Iex_Triop = 86021,
883     Iex_Binop = 86022,   883     Iex_Binop = 86022,
884     Iex_Unop = 86023,   884     Iex_Unop = 86023,
885     Iex_Load = 86024,   885     Iex_Load = 86024,
886     Iex_Const = 86025,   886     Iex_Const = 86025,
887     Iex_Mux0X = 86026,   887     Iex_Mux0X = 86026,
888     Iex_CCall = 86027   888     Iex_CCall = 86027
889 } ;   889 } ;
890 typedef enum __anonenum_IRExprTag_13 IRExprTag;   890 typedef enum __anonenum_IRExprTag_13 IRExprTag;
891 struct _IRExpr;   891 struct _IRExpr;
892 typedef struct _IRExpr IRExpr;   892 typedef struct _IRExpr IRExpr;
893 struct __anonstruct_Binder_15 {   893 struct __anonstruct_Binder_15 {
894    Int binder ;   894    Int binder ;
895 };   895 };
896 struct __anonstruct_Get_16 {   896 struct __anonstruct_Get_16 {
897    Int offset ;   897    Int offset ;
898    IRType ty ;   898    IRType ty ;
899 };   899 };
900 struct __anonstruct_GetI_17 {   900 struct __anonstruct_GetI_17 {
901    IRRegArray *descr ;   901    IRRegArray *descr ;
902    IRExpr *ix ;   902    IRExpr *ix ;
903    Int bias ;   903    Int bias ;
904 };   904 };
905 struct __anonstruct_RdTmp_18 {   905 struct __anonstruct_RdTmp_18 {
906    IRTemp tmp ;   906    IRTemp tmp ;
907 };   907 };
908 struct __anonstruct_Qop_19 {   908 struct __anonstruct_Qop_19 {
909    IROp op ;   909    IROp op ;
910    IRExpr *arg1 ;   910    IRExpr *arg1 ;
911    IRExpr *arg2 ;   911    IRExpr *arg2 ;
912    IRExpr *arg3 ;   912    IRExpr *arg3 ;
913    IRExpr *arg4 ;   913    IRExpr *arg4 ;
914 };   914 };
915 struct __anonstruct_Triop_20 {   915 struct __anonstruct_Triop_20 {
916    IROp op ;   916    IROp op ;
917    IRExpr *arg1 ;   917    IRExpr *arg1 ;
918    IRExpr *arg2 ;   918    IRExpr *arg2 ;
919    IRExpr *arg3 ;   919    IRExpr *arg3 ;
920 };   920 };
921 struct __anonstruct_Binop_21 {   921 struct __anonstruct_Binop_21 {
922    IROp op ;   922    IROp op ;
923    IRExpr *arg1 ;   923    IRExpr *arg1 ;
924    IRExpr *arg2 ;   924    IRExpr *arg2 ;
925 };   925 };
926 struct __anonstruct_Unop_22 {   926 struct __anonstruct_Unop_22 {
927    IROp op ;   927    IROp op ;
928    IRExpr *arg ;   928    IRExpr *arg ;
929 };   929 };
930 struct __anonstruct_Load_23 {   930 struct __anonstruct_Load_23 {
931    IREndness end ;   931    IREndness end ;
932    IRType ty ;   932    IRType ty ;
933    IRExpr *addr ;   933    IRExpr *addr ;
934 };   934 };
935 struct __anonstruct_Const_24 {   935 struct __anonstruct_Const_24 {
936    IRConst *con ;   936    IRConst *con ;
937 };   937 };
938 struct __anonstruct_CCall_25 {   938 struct __anonstruct_CCall_25 {
939    IRCallee *cee ;   939    IRCallee *cee ;
940    IRType retty ;   940    IRType retty ;
941    IRExpr **args ;   941    IRExpr **args ;
942 };   942 };
943 struct __anonstruct_Mux0X_26 {   943 struct __anonstruct_Mux0X_26 {
944    IRExpr *cond ;   944    IRExpr *cond ;
945    IRExpr *expr0 ;   945    IRExpr *expr0 ;
946    IRExpr *exprX ;   946    IRExpr *exprX ;
947 };   947 };
948 union __anonunion_Iex_14 {   948 union __anonunion_Iex_14 {
949    struct __anonstruct_Binder_15 Binder ;   949    struct __anonstruct_Binder_15 Binder ;
950    struct __anonstruct_Get_16 Get ;   950    struct __anonstruct_Get_16 Get ;
951    struct __anonstruct_GetI_17 GetI ;   951    struct __anonstruct_GetI_17 GetI ;
952    struct __anonstruct_RdTmp_18 RdTmp ;   952    struct __anonstruct_RdTmp_18 RdTmp ;
953    struct __anonstruct_Qop_19 Qop ;   953    struct __anonstruct_Qop_19 Qop ;
954    struct __anonstruct_Triop_20 Triop ;   954    struct __anonstruct_Triop_20 Triop ;
955    struct __anonstruct_Binop_21 Binop ;   955    struct __anonstruct_Binop_21 Binop ;
956    struct __anonstruct_Unop_22 Unop ;   956    struct __anonstruct_Unop_22 Unop ;
957    struct __anonstruct_Load_23 Load ;   957    struct __anonstruct_Load_23 Load ;
958    struct __anonstruct_Const_24 Const ;   958    struct __anonstruct_Const_24 Const ;
959    struct __anonstruct_CCall_25 CCall ;   959    struct __anonstruct_CCall_25 CCall ;
960    struct __anonstruct_Mux0X_26 Mux0X ;   960    struct __anonstruct_Mux0X_26 Mux0X ;
961 };   961 };
962 struct _IRExpr {   962 struct _IRExpr {
963    IRExprTag tag ;   963    IRExprTag tag ;
964    union __anonunion_Iex_14 Iex ;   964    union __anonunion_Iex_14 Iex ;
965 };   965 };
966 enum __anonenum_IRJumpKind_27 {   966 enum __anonenum_IRJumpKind_27 {
967     Ijk_Boring = 90112,   967     Ijk_Boring = 90112,
968     Ijk_Call = 90113,   968     Ijk_Call = 90113,
969     Ijk_Ret = 90114,   969     Ijk_Ret = 90114,
970     Ijk_ClientReq = 90115,   970     Ijk_ClientReq = 90115,
971     Ijk_Yield = 90116,   971     Ijk_Yield = 90116,
972     Ijk_EmWarn = 90117,   972     Ijk_EmWarn = 90117,
973     Ijk_EmFail = 90118,   973     Ijk_EmFail = 90118,
974     Ijk_NoDecode = 90119,   974     Ijk_NoDecode = 90119,
975     Ijk_MapFail = 90120,   975     Ijk_MapFail = 90120,
976     Ijk_TInval = 90121,   976     Ijk_TInval = 90121,
977     Ijk_NoRedir = 90122,   977     Ijk_NoRedir = 90122,
978     Ijk_SigTRAP = 90123,   978     Ijk_SigTRAP = 90123,
979     Ijk_SigSEGV = 90124,   979     Ijk_SigSEGV = 90124,
980     Ijk_SigBUS = 90125,   980     Ijk_SigBUS = 90125,
981     Ijk_Sys_syscall = 90126,   981     Ijk_Sys_syscall = 90126,
982     Ijk_Sys_int32 = 90127,   982     Ijk_Sys_int32 = 90127,
983     Ijk_Sys_int128 = 90128,   983     Ijk_Sys_int128 = 90128,
984     Ijk_Sys_int129 = 90129,   984     Ijk_Sys_int129 = 90129,
985     Ijk_Sys_int130 = 90130,   985     Ijk_Sys_int130 = 90130,
986     Ijk_Sys_sysenter = 90131   986     Ijk_Sys_sysenter = 90131
987 } ;   987 } ;
988 typedef enum __anonenum_IRJumpKind_27 IRJumpKind;   988 typedef enum __anonenum_IRJumpKind_27 IRJumpKind;
989 enum __anonenum_IREffect_28 {   989 enum __anonenum_IREffect_28 {
990     Ifx_None = 94208,   990     Ifx_None = 94208,
991     Ifx_Read = 94209,   991     Ifx_Read = 94209,
992     Ifx_Write = 94210,   992     Ifx_Write = 94210,
993     Ifx_Modify = 94211   993     Ifx_Modify = 94211
994 } ;   994 } ;
995 typedef enum __anonenum_IREffect_28 IREffect;   995 typedef enum __anonenum_IREffect_28 IREffect;
996 struct __anonstruct_fxState_30 {   996 struct __anonstruct_fxState_30 {
997    IREffect fx ;   997    IREffect fx ;
998    Int offset ;   998    Int offset ;
999    Int size ;   999    Int size ;
1000 };   1000 };
1001 struct __anonstruct_IRDirty_29 {   1001 struct __anonstruct_IRDirty_29 {
1002    IRCallee *cee ;   1002    IRCallee *cee ;
1003    IRExpr *guard ;   1003    IRExpr *guard ;
1004    IRExpr **args ;   1004    IRExpr **args ;
1005    IRTemp tmp ;   1005    IRTemp tmp ;
1006    IREffect mFx ;   1006    IREffect mFx ;
1007    IRExpr *mAddr ;   1007    IRExpr *mAddr ;
1008    Int mSize ;   1008    Int mSize ;
1009    Bool needsBBP ;   1009    Bool needsBBP ;
1010    Int nFxState ;   1010    Int nFxState ;
1011    struct __anonstruct_fxState_30 fxState[7] ;   1011    struct __anonstruct_fxState_30 fxState[7] ;
1012 };   1012 };
1013 typedef struct __anonstruct_IRDirty_29 IRDirty;   1013 typedef struct __anonstruct_IRDirty_29 IRDirty;
1014 enum __anonenum_IRMBusEvent_31 {   1014 enum __anonenum_IRMBusEvent_31 {
1015     Imbe_Fence = 98304   1015     Imbe_Fence = 98304
1016 } ;   1016 } ;
1017 typedef enum __anonenum_IRMBusEvent_31 IRMBusEvent;   1017 typedef enum __anonenum_IRMBusEvent_31 IRMBusEvent;
1018 struct __anonstruct_IRCAS_32 {   1018 struct __anonstruct_IRCAS_32 {
1019    IRTemp oldHi ;   1019    IRTemp oldHi ;
1020    IRTemp oldLo ;   1020    IRTemp oldLo ;
1021    IREndness end ;   1021    IREndness end ;
1022    IRExpr *addr ;   1022    IRExpr *addr ;
1023    IRExpr *expdHi ;   1023    IRExpr *expdHi ;
1024    IRExpr *expdLo ;   1024    IRExpr *expdLo ;
1025    IRExpr *dataHi ;   1025    IRExpr *dataHi ;
1026    IRExpr *dataLo ;   1026    IRExpr *dataLo ;
1027 };   1027 };
1028 typedef struct __anonstruct_IRCAS_32 IRCAS;   1028 typedef struct __anonstruct_IRCAS_32 IRCAS;
1029 enum __anonenum_IRStmtTag_33 {   1029 enum __anonenum_IRStmtTag_33 {
1030     Ist_NoOp = 102400,   1030     Ist_NoOp = 102400,
1031     Ist_IMark = 102401,   1031     Ist_IMark = 102401,
1032     Ist_AbiHint = 102402,   1032     Ist_AbiHint = 102402,
1033     Ist_Put = 102403,   1033     Ist_Put = 102403,
1034     Ist_PutI = 102404,   1034     Ist_PutI = 102404,
1035     Ist_WrTmp = 102405,   1035     Ist_WrTmp = 102405,
1036     Ist_Store = 102406,   1036     Ist_Store = 102406,
1037     Ist_CAS = 102407,   1037     Ist_CAS = 102407,
1038     Ist_LLSC = 102408,   1038     Ist_LLSC = 102408,
1039     Ist_Dirty = 102409,   1039     Ist_Dirty = 102409,
1040     Ist_MBE = 102410,   1040     Ist_MBE = 102410,
1041     Ist_Exit = 102411   1041     Ist_Exit = 102411
1042 } ;   1042 } ;
1043 typedef enum __anonenum_IRStmtTag_33 IRStmtTag;   1043 typedef enum __anonenum_IRStmtTag_33 IRStmtTag;
1044 struct __anonstruct_NoOp_35 {   1044 struct __anonstruct_NoOp_35 {
1045     1045  
1046 };   1046 };
1047 struct __anonstruct_IMark_36 {   1047 struct __anonstruct_IMark_36 {
1048    Addr64 addr ;   1048    Addr64 addr ;
1049    Int len ;   1049    Int len ;
1050    UChar delta ;   1050    UChar delta ;
1051 };   1051 };
1052 struct __anonstruct_AbiHint_37 {   1052 struct __anonstruct_AbiHint_37 {
1053    IRExpr *base ;   1053    IRExpr *base ;
1054    Int len ;   1054    Int len ;
1055    IRExpr *nia ;   1055    IRExpr *nia ;
1056 };   1056 };
1057 struct __anonstruct_Put_38 {   1057 struct __anonstruct_Put_38 {
1058    Int offset ;   1058    Int offset ;
1059    IRExpr *data ;   1059    IRExpr *data ;
1060 };   1060 };
1061 struct __anonstruct_PutI_39 {   1061 struct __anonstruct_PutI_39 {
1062    IRRegArray *descr ;   1062    IRRegArray *descr ;
1063    IRExpr *ix ;   1063    IRExpr *ix ;
1064    Int bias ;   1064    Int bias ;
1065    IRExpr *data ;   1065    IRExpr *data ;
1066 };   1066 };
1067 struct __anonstruct_WrTmp_40 {   1067 struct __anonstruct_WrTmp_40 {
1068    IRTemp tmp ;   1068    IRTemp tmp ;
1069    IRExpr *data ;   1069    IRExpr *data ;
1070 };   1070 };
1071 struct __anonstruct_Store_41 {   1071 struct __anonstruct_Store_41 {
1072    IREndness end ;   1072    IREndness end ;
1073    IRExpr *addr ;   1073    IRExpr *addr ;
1074    IRExpr *data ;   1074    IRExpr *data ;
1075 };   1075 };
1076 struct __anonstruct_CAS_42 {   1076 struct __anonstruct_CAS_42 {
1077    IRCAS *details ;   1077    IRCAS *details ;
1078 };   1078 };
1079 struct __anonstruct_LLSC_43 {   1079 struct __anonstruct_LLSC_43 {
1080    IREndness end ;   1080    IREndness end ;
1081    IRTemp result ;   1081    IRTemp result ;
1082    IRExpr *addr ;   1082    IRExpr *addr ;
1083    IRExpr *storedata ;   1083    IRExpr *storedata ;
1084 };   1084 };
1085 struct __anonstruct_Dirty_44 {   1085 struct __anonstruct_Dirty_44 {
1086    IRDirty *details ;   1086    IRDirty *details ;
1087 };   1087 };
1088 struct __anonstruct_MBE_45 {   1088 struct __anonstruct_MBE_45 {
1089    IRMBusEvent event ;   1089    IRMBusEvent event ;
1090 };   1090 };
1091 struct __anonstruct_Exit_46 {   1091 struct __anonstruct_Exit_46 {
1092    IRExpr *guard ;   1092    IRExpr *guard ;
1093    IRJumpKind jk ;   1093    IRJumpKind jk ;
1094    IRConst *dst ;   1094    IRConst *dst ;
1095 };   1095 };
1096 union __anonunion_Ist_34 {   1096 union __anonunion_Ist_34 {
1097    struct __anonstruct_NoOp_35 NoOp ;   1097    struct __anonstruct_NoOp_35 NoOp ;
1098    struct __anonstruct_IMark_36 IMark ;   1098    struct __anonstruct_IMark_36 IMark ;
1099    struct __anonstruct_AbiHint_37 AbiHint ;   1099    struct __anonstruct_AbiHint_37 AbiHint ;
1100    struct __anonstruct_Put_38 Put ;   1100    struct __anonstruct_Put_38 Put ;
1101    struct __anonstruct_PutI_39 PutI ;   1101    struct __anonstruct_PutI_39 PutI ;
1102    struct __anonstruct_WrTmp_40 WrTmp ;   1102    struct __anonstruct_WrTmp_40 WrTmp ;
1103    struct __anonstruct_Store_41 Store ;   1103    struct __anonstruct_Store_41 Store ;
1104    struct __anonstruct_CAS_42 CAS ;   1104    struct __anonstruct_CAS_42 CAS ;
1105    struct __anonstruct_LLSC_43 LLSC ;   1105    struct __anonstruct_LLSC_43 LLSC ;
1106    struct __anonstruct_Dirty_44 Dirty ;   1106    struct __anonstruct_Dirty_44 Dirty ;
1107    struct __anonstruct_MBE_45 MBE ;   1107    struct __anonstruct_MBE_45 MBE ;
1108    struct __anonstruct_Exit_46 Exit ;   1108    struct __anonstruct_Exit_46 Exit ;
1109 };   1109 };
1110 struct _IRStmt {   1110 struct _IRStmt {
1111    IRStmtTag tag ;   1111    IRStmtTag tag ;
1112    union __anonunion_Ist_34 Ist ;   1112    union __anonunion_Ist_34 Ist ;
1113 };   1113 };
1114 typedef struct _IRStmt IRStmt;   1114 typedef struct _IRStmt IRStmt;
1115 struct __anonstruct_IRTypeEnv_47 {   1115 struct __anonstruct_IRTypeEnv_47 {
1116    IRType *types ;   1116    IRType *types ;
1117    Int types_size ;   1117    Int types_size ;
1118    Int types_used ;   1118    Int types_used ;
1119 };   1119 };
1120 typedef struct __anonstruct_IRTypeEnv_47 IRTypeEnv;   1120 typedef struct __anonstruct_IRTypeEnv_47 IRTypeEnv;
1121 struct __anonstruct_IRSB_48 {   1121 struct __anonstruct_IRSB_48 {
1122    IRTypeEnv *tyenv ;   1122    IRTypeEnv *tyenv ;
1123    IRStmt **stmts ;   1123    IRStmt **stmts ;
1124    Int stmts_size ;   1124    Int stmts_size ;
1125    Int stmts_used ;   1125    Int stmts_used ;
1126    IRExpr *next ;   1126    IRExpr *next ;
1127    IRJumpKind jumpkind ;   1127    IRJumpKind jumpkind ;
1128 };   1128 };
1129 typedef struct __anonstruct_IRSB_48 IRSB;   1129 typedef struct __anonstruct_IRSB_48 IRSB;
1130 enum __anonenum_VexArch_49 {   1130 enum __anonenum_VexArch_49 {
1131     VexArch_INVALID = 0,   1131     VexArch_INVALID = 0,
1132     VexArchX86 = 1,   1132     VexArchX86 = 1,
1133     VexArchAMD64 = 2,   1133     VexArchAMD64 = 2,
1134     VexArchARM = 3,   1134     VexArchARM = 3,
1135     VexArchPPC32 = 4,   1135     VexArchPPC32 = 4,
1136     VexArchPPC64 = 5,   1136     VexArchPPC64 = 5,
1137     VexArchS390X = 6   1137     VexArchS390X = 6
1138 } ;   1138 } ;
1139 typedef enum __anonenum_VexArch_49 VexArch;   1139 typedef enum __anonenum_VexArch_49 VexArch;
1140 struct __anonstruct_VexArchInfo_50 {   1140 struct __anonstruct_VexArchInfo_50 {
1141    UInt hwcaps ;   1141    UInt hwcaps ;
1142    Int ppc_cache_line_szB ;   1142    Int ppc_cache_line_szB ;
1143    UInt ppc_dcbz_szB ;   1143    UInt ppc_dcbz_szB ;
1144    UInt ppc_dcbzl_szB ;   1144    UInt ppc_dcbzl_szB ;
1145 };   1145 };
1146 typedef struct __anonstruct_VexArchInfo_50 VexArchInfo;   1146 typedef struct __anonstruct_VexArchInfo_50 VexArchInfo;
1147 struct __anonstruct_VexAbiInfo_51 {   1147 struct __anonstruct_VexAbiInfo_51 {
1148    Int guest_stack_redzone_size ;   1148    Int guest_stack_redzone_size ;
1149    Bool guest_amd64_assume_fs_is_zero ;   1149    Bool guest_amd64_assume_fs_is_zero ;
1150    Bool guest_amd64_assume_gs_is_0x60 ;   1150    Bool guest_amd64_assume_gs_is_0x60 ;
1151    Bool guest_ppc_zap_RZ_at_blr ;   1151    Bool guest_ppc_zap_RZ_at_blr ;
1152    Bool (*guest_ppc_zap_RZ_at_bl)(Addr64  ) ;   1152    Bool (*guest_ppc_zap_RZ_at_bl)(Addr64  ) ;
1153    Bool guest_ppc_sc_continues_at_LR ;   1153    Bool guest_ppc_sc_continues_at_LR ;
1154    Bool host_ppc_calls_use_fndescrs ;   1154    Bool host_ppc_calls_use_fndescrs ;
1155    Bool host_ppc32_regalign_int64_args ;   1155    Bool host_ppc32_regalign_int64_args ;
1156 };   1156 };
1157 typedef struct __anonstruct_VexAbiInfo_51 VexAbiInfo;   1157 typedef struct __anonstruct_VexAbiInfo_51 VexAbiInfo;
1158 struct __anonstruct_VexControl_52 {   1158 struct __anonstruct_VexControl_52 {
1159    Int iropt_verbosity ;   1159    Int iropt_verbosity ;
1160    Int iropt_level ;   1160    Int iropt_level ;
1161    Bool iropt_precise_memory_exns ;   1161    Bool iropt_precise_memory_exns ;
1162    Int iropt_unroll_thresh ;   1162    Int iropt_unroll_thresh ;
1163    Int guest_max_insns ;   1163    Int guest_max_insns ;
1164    Int guest_chase_thresh ;   1164    Int guest_chase_thresh ;
1165    Bool guest_chase_cond ;   1165    Bool guest_chase_cond ;
1166 };   1166 };
1167 typedef struct __anonstruct_VexControl_52 VexControl;   1167 typedef struct __anonstruct_VexControl_52 VexControl;
1168 struct __anonstruct_alwaysDefd_54 {   1168 struct __anonstruct_alwaysDefd_54 {
1169    Int offset ;   1169    Int offset ;
1170    Int size ;   1170    Int size ;
1171 };   1171 };
1172 struct __anonstruct_VexGuestLayout_53 {   1172 struct __anonstruct_VexGuestLayout_53 {
1173    Int total_sizeB ;   1173    Int total_sizeB ;
1174    Int offset_SP ;   1174    Int offset_SP ;
1175    Int sizeof_SP ;   1175    Int sizeof_SP ;
1176    Int offset_FP ;   1176    Int offset_FP ;
1177    Int sizeof_FP ;   1177    Int sizeof_FP ;
1178    Int offset_IP ;   1178    Int offset_IP ;
1179    Int sizeof_IP ;   1179    Int sizeof_IP ;
1180    Int n_alwaysDefd ;   1180    Int n_alwaysDefd ;
1181    struct __anonstruct_alwaysDefd_54 alwaysDefd[24] ;   1181    struct __anonstruct_alwaysDefd_54 alwaysDefd[24] ;
1182 };   1182 };
1183 typedef struct __anonstruct_VexGuestLayout_53 VexGuestLayout;   1183 typedef struct __anonstruct_VexGuestLayout_53 VexGuestLayout;
1184 enum __anonenum_status_56 {   1184 enum __anonenum_status_56 {
1185     VexTransOK = 0,   1185     VexTransOK = 0,
1186     VexTransAccessFail = 1,   1186     VexTransAccessFail = 1,
1187     VexTransOutputFull = 2   1187     VexTransOutputFull = 2
1188 } ;   1188 } ;
1189 struct __anonstruct_VexTranslateResult_55 {   1189 struct __anonstruct_VexTranslateResult_55 {
1190    enum __anonenum_status_56 status ;   1190    enum __anonenum_status_56 status ;
1191    UInt n_sc_extents ;   1191    UInt n_sc_extents ;
1192 };   1192 };
1193 typedef struct __anonstruct_VexTranslateResult_55 VexTranslateResult;   1193 typedef struct __anonstruct_VexTranslateResult_55 VexTranslateResult;
1194 struct __anonstruct_VexGuestExtents_57 {   1194 struct __anonstruct_VexGuestExtents_57 {
1195    Addr64 base[3] ;   1195    Addr64 base[3] ;
1196    UShort len[3] ;   1196    UShort len[3] ;
1197    UShort n_used ;   1197    UShort n_used ;
1198 };   1198 };
1199 typedef struct __anonstruct_VexGuestExtents_57 VexGuestExtents;   1199 typedef struct __anonstruct_VexGuestExtents_57 VexGuestExtents;
1200 struct __anonstruct_VexTranslateArgs_58 {   1200 struct __anonstruct_VexTranslateArgs_58 {
1201    VexArch arch_guest ;   1201    VexArch arch_guest ;
1202    VexArchInfo archinfo_guest ;   1202    VexArchInfo archinfo_guest ;
1203    VexArch arch_host ;   1203    VexArch arch_host ;
1204    VexArchInfo archinfo_host ;   1204    VexArchInfo archinfo_host ;
1205    VexAbiInfo abiinfo_both ;   1205    VexAbiInfo abiinfo_both ;
1206    void *callback_opaque ;   1206    void *callback_opaque ;
1207    UChar *guest_bytes ;   1207    UChar *guest_bytes ;
1208    Addr64 guest_bytes_addr ;   1208    Addr64 guest_bytes_addr ;
1209    Bool (*chase_into_ok)(void * , Addr64  ) ;   1209    Bool (*chase_into_ok)(void * , Addr64  ) ;
1210    VexGuestExtents *guest_extents ;   1210    VexGuestExtents *guest_extents ;
1211    UChar *host_bytes ;   1211    UChar *host_bytes ;
1212    Int host_bytes_size ;   1212    Int host_bytes_size ;
1213    Int *host_bytes_used ;   1213    Int *host_bytes_used ;
1214    IRSB *(*instrument1)(void * , IRSB * , VexGuestLayout * , VexGuestExtents * ,   1214    IRSB *(*instrument1)(void * , IRSB * , VexGuestLayout * , VexGuestExtents * ,
1215                         IRType gWordTy , IRType hWordTy ) ;   1215                         IRType gWordTy , IRType hWordTy ) ;
1216    IRSB *(*instrument2)(void * , IRSB * , VexGuestLayout * , VexGuestExtents * ,   1216    IRSB *(*instrument2)(void * , IRSB * , VexGuestLayout * , VexGuestExtents * ,
1217                         IRType gWordTy , IRType hWordTy ) ;   1217                         IRType gWordTy , IRType hWordTy ) ;
1218    IRSB *(*finaltidy)(IRSB * ) ;   1218    IRSB *(*finaltidy)(IRSB * ) ;
1219    UInt (*needs_self_check)(void * , VexGuestExtents * ) ;   1219    UInt (*needs_self_check)(void * , VexGuestExtents * ) ;
1220    Bool (*preamble_function)(void * , IRSB * ) ;   1220    Bool (*preamble_function)(void * , IRSB * ) ;
1221    Int traceflags ;   1221    Int traceflags ;
1222    void *dispatch_unassisted ;   1222    void *dispatch_unassisted ;
1223    void *dispatch_assisted ;   1223    void *dispatch_assisted ;
1224 };   1224 };
1225 typedef struct __anonstruct_VexTranslateArgs_58 VexTranslateArgs;   1225 typedef struct __anonstruct_VexTranslateArgs_58 VexTranslateArgs;
1226 enum __anonenum_VexEmWarn_59 {   1226 enum __anonenum_VexEmWarn_59 {
1227     EmWarn_NONE = 0,   1227     EmWarn_NONE = 0,
1228     EmWarn_X86_x87exns = 1,   1228     EmWarn_X86_x87exns = 1,
1229     EmWarn_X86_x87precision = 2,   1229     EmWarn_X86_x87precision = 2,
1230     EmWarn_X86_sseExns = 3,   1230     EmWarn_X86_sseExns = 3,
1231     EmWarn_X86_fz = 4,   1231     EmWarn_X86_fz = 4,
1232     EmWarn_X86_daz = 5,   1232     EmWarn_X86_daz = 5,
1233     EmWarn_X86_acFlag = 6,   1233     EmWarn_X86_acFlag = 6,
1234     EmWarn_PPCexns = 7,   1234     EmWarn_PPCexns = 7,
1235     EmWarn_PPC64_redir_overflow = 8,   1235     EmWarn_PPC64_redir_overflow = 8,
1236     EmWarn_PPC64_redir_underflow = 9,   1236     EmWarn_PPC64_redir_underflow = 9,
1237     EmWarn_NUMBER = 10   1237     EmWarn_NUMBER = 10
1238 } ;   1238 } ;
1239 typedef enum __anonenum_VexEmWarn_59 VexEmWarn;   1239 typedef enum __anonenum_VexEmWarn_59 VexEmWarn;
1240 struct __anonstruct_VexGuestX86State_60 {   1240 struct __anonstruct_VexGuestX86State_60 {
1241    UInt guest_EAX ;   1241    UInt guest_EAX ;
1242    UInt guest_ECX ;   1242    UInt guest_ECX ;
1243    UInt guest_EDX ;   1243    UInt guest_EDX ;
1244    UInt guest_EBX ;   1244    UInt guest_EBX ;
1245    UInt guest_ESP ;   1245    UInt guest_ESP ;
1246    UInt guest_EBP ;   1246    UInt guest_EBP ;
1247    UInt guest_ESI ;   1247    UInt guest_ESI ;
1248    UInt guest_EDI ;   1248    UInt guest_EDI ;
1249    UInt guest_CC_OP ;   1249    UInt guest_CC_OP ;
1250    UInt guest_CC_DEP1 ;   1250    UInt guest_CC_DEP1 ;
1251    UInt guest_CC_DEP2 ;   1251    UInt guest_CC_DEP2 ;
1252    UInt guest_CC_NDEP ;   1252    UInt guest_CC_NDEP ;
1253    UInt guest_DFLAG ;   1253    UInt guest_DFLAG ;
1254    UInt guest_IDFLAG ;   1254    UInt guest_IDFLAG ;
1255    UInt guest_ACFLAG ;   1255    UInt guest_ACFLAG ;
1256    UInt guest_EIP ;   1256    UInt guest_EIP ;
1257    ULong guest_FPREG[8] ;   1257    ULong guest_FPREG[8] ;
1258    UChar guest_FPTAG[8] ;   1258    UChar guest_FPTAG[8] ;
1259    UInt guest_FPROUND ;   1259    UInt guest_FPROUND ;
1260    UInt guest_FC3210 ;   1260    UInt guest_FC3210 ;
1261    UInt guest_FTOP ;   1261    UInt guest_FTOP ;
1262    UInt guest_SSEROUND ;   1262    UInt guest_SSEROUND ;
1263    U128 guest_XMM0 ;   1263    U128 guest_XMM0 ;
1264    U128 guest_XMM1 ;   1264    U128 guest_XMM1 ;
1265    U128 guest_XMM2 ;   1265    U128 guest_XMM2 ;
1266    U128 guest_XMM3 ;   1266    U128 guest_XMM3 ;
1267    U128 guest_XMM4 ;   1267    U128 guest_XMM4 ;
1268    U128 guest_XMM5 ;   1268    U128 guest_XMM5 ;
1269    U128 guest_XMM6 ;   1269    U128 guest_XMM6 ;
1270    U128 guest_XMM7 ;   1270    U128 guest_XMM7 ;
1271    UShort guest_CS ;   1271    UShort guest_CS ;
1272    UShort guest_DS ;   1272    UShort guest_DS ;
1273    UShort guest_ES ;   1273    UShort guest_ES ;
1274    UShort guest_FS ;   1274    UShort guest_FS ;
1275    UShort guest_GS ;   1275    UShort guest_GS ;
1276    UShort guest_SS ;   1276    UShort guest_SS ;
1277    HWord guest_LDT ;   1277    HWord guest_LDT ;
1278    HWord guest_GDT ;   1278    HWord guest_GDT ;
1279    UInt guest_EMWARN ;   1279    UInt guest_EMWARN ;
1280    UInt guest_TISTART ;   1280    UInt guest_TISTART ;
1281    UInt guest_TILEN ;   1281    UInt guest_TILEN ;
1282    UInt guest_NRADDR ;   1282    UInt guest_NRADDR ;
1283    UInt guest_SC_CLASS ;   1283    UInt guest_SC_CLASS ;
1284    UInt guest_IP_AT_SYSCALL ;   1284    UInt guest_IP_AT_SYSCALL ;
1285    UInt padding1 ;   1285    UInt padding1 ;
1286    UInt padding2 ;   1286    UInt padding2 ;
1287    UInt padding3 ;   1287    UInt padding3 ;
1288 };   1288 };
1289 typedef struct __anonstruct_VexGuestX86State_60 VexGuestX86State;   1289 typedef struct __anonstruct_VexGuestX86State_60 VexGuestX86State;
1290 struct __anonstruct_Bits_63 {   1290 struct __anonstruct_Bits_63 {
1291    UShort LimitLow ;   1291    UShort LimitLow ;
1292    UShort BaseLow ;   1292    UShort BaseLow ;
1293    UInt BaseMid : 8 ;   1293    UInt BaseMid : 8 ;
1294    UInt Type : 5 ;   1294    UInt Type : 5 ;
1295    UInt Dpl : 2 ;   1295    UInt Dpl : 2 ;
1296    UInt Pres : 1 ;   1296    UInt Pres : 1 ;
1297    UInt LimitHi : 4 ;   1297    UInt LimitHi : 4 ;
1298    UInt Sys : 1 ;   1298    UInt Sys : 1 ;
1299    UInt Reserved_0 : 1 ;   1299    UInt Reserved_0 : 1 ;
1300    UInt Default_Big : 1 ;   1300    UInt Default_Big : 1 ;
1301    UInt Granularity : 1 ;   1301    UInt Granularity : 1 ;
1302    UInt BaseHi : 8 ;   1302    UInt BaseHi : 8 ;
1303 };   1303 };
1304 struct __anonstruct_Words_64 {   1304 struct __anonstruct_Words_64 {
1305    UInt word1 ;   1305    UInt word1 ;
1306    UInt word2 ;   1306    UInt word2 ;
1307 };   1307 };
1308 union __anonunion_LdtEnt_62 {   1308 union __anonunion_LdtEnt_62 {
1309    struct __anonstruct_Bits_63 Bits ;   1309    struct __anonstruct_Bits_63 Bits ;
1310    struct __anonstruct_Words_64 Words ;   1310    struct __anonstruct_Words_64 Words ;
1311 };   1311 };
1312 struct __anonstruct_VexGuestX86SegDescr_61 {   1312 struct __anonstruct_VexGuestX86SegDescr_61 {
1313    union __anonunion_LdtEnt_62 LdtEnt ;   1313    union __anonunion_LdtEnt_62 LdtEnt ;
1314 };   1314 };
1315 typedef struct __anonstruct_VexGuestX86SegDescr_61 VexGuestX86SegDescr;   1315 typedef struct __anonstruct_VexGuestX86SegDescr_61 VexGuestX86SegDescr;
1316 struct __anonstruct_X86_67 {   1316 struct __anonstruct_X86_67 {
1317    UInt r_ebp ;   1317    UInt r_ebp ;
1318 };   1318 };
1319 struct __anonstruct_AMD64_68 {   1319 struct __anonstruct_AMD64_68 {
1320    ULong r_rbp ;   1320    ULong r_rbp ;
1321 };   1321 };
1322 struct __anonstruct_PPC32_69 {   1322 struct __anonstruct_PPC32_69 {
1323    UInt r_lr ;   1323    UInt r_lr ;
1324 };   1324 };
1325 struct __anonstruct_PPC64_70 {   1325 struct __anonstruct_PPC64_70 {
1326    ULong r_lr ;   1326    ULong r_lr ;
1327 };   1327 };
1328 struct __anonstruct_ARM_71 {   1328 struct __anonstruct_ARM_71 {
1329    UInt r14 ;   1329    UInt r14 ;
1330    UInt r12 ;   1330    UInt r12 ;
1331    UInt r11 ;   1331    UInt r11 ;
1332    UInt r7 ;   1332    UInt r7 ;
1333 };   1333 };
1334 struct __anonstruct_S390X_72 {   1334 struct __anonstruct_S390X_72 {
1335    ULong r_fp ;   1335    ULong r_fp ;
1336    ULong r_lr ;   1336    ULong r_lr ;
1337 };   1337 };
1338 union __anonunion_misc_66 {   1338 union __anonunion_misc_66 {
1339    struct __anonstruct_X86_67 X86 ;   1339    struct __anonstruct_X86_67 X86 ;
1340    struct __anonstruct_AMD64_68 AMD64 ;   1340    struct __anonstruct_AMD64_68 AMD64 ;
1341    struct __anonstruct_PPC32_69 PPC32 ;   1341    struct __anonstruct_PPC32_69 PPC32 ;
1342    struct __anonstruct_PPC64_70 PPC64 ;   1342    struct __anonstruct_PPC64_70 PPC64 ;
1343    struct __anonstruct_ARM_71 ARM ;   1343    struct __anonstruct_ARM_71 ARM ;
1344    struct __anonstruct_S390X_72 S390X ;   1344    struct __anonstruct_S390X_72 S390X ;
1345 };   1345 };
1346 struct __anonstruct_UnwindStartRegs_65 {   1346 struct __anonstruct_UnwindStartRegs_65 {
1347    ULong r_pc ;   1347    ULong r_pc ;
1348    ULong r_sp ;   1348    ULong r_sp ;
1349    union __anonunion_misc_66 misc ;   1349    union __anonunion_misc_66 misc ;
1350 };   1350 };
1351 typedef struct __anonstruct_UnwindStartRegs_65 UnwindStartRegs;   1351 typedef struct __anonstruct_UnwindStartRegs_65 UnwindStartRegs;
1352 typedef unsigned short __vki_kernel_mode_t;   1352 typedef unsigned short __vki_kernel_mode_t;
1353 typedef long __vki_kernel_off_t;   1353 typedef long __vki_kernel_off_t;
1354 typedef int __vki_kernel_pid_t;   1354 typedef int __vki_kernel_pid_t;
1355 typedef unsigned short __vki_kernel_ipc_pid_t;   1355 typedef unsigned short __vki_kernel_ipc_pid_t;
1356 typedef unsigned short __vki_kernel_uid_t;   1356 typedef unsigned short __vki_kernel_uid_t;
1357 typedef unsigned short __vki_kernel_gid_t;   1357 typedef unsigned short __vki_kernel_gid_t;
1358 typedef unsigned int __vki_kernel_size_t;   1358 typedef unsigned int __vki_kernel_size_t;
1359 typedef long __vki_kernel_time_t;   1359 typedef long __vki_kernel_time_t;
1360 typedef long __vki_kernel_suseconds_t;   1360 typedef long __vki_kernel_suseconds_t;
1361 typedef long __vki_kernel_clock_t;   1361 typedef long __vki_kernel_clock_t;
1362 typedef int __vki_kernel_timer_t;   1362 typedef int __vki_kernel_timer_t;
1363 typedef int __vki_kernel_clockid_t;   1363 typedef int __vki_kernel_clockid_t;
1364 typedef char *__vki_kernel_caddr_t;   1364 typedef char *__vki_kernel_caddr_t;
1365 typedef unsigned int __vki_kernel_uid32_t;   1365 typedef unsigned int __vki_kernel_uid32_t;
1366 typedef unsigned int __vki_kernel_gid32_t;   1366 typedef unsigned int __vki_kernel_gid32_t;
1367 typedef unsigned short __vki_kernel_old_uid_t;   1367 typedef unsigned short __vki_kernel_old_uid_t;
1368 typedef unsigned short __vki_kernel_old_gid_t;   1368 typedef unsigned short __vki_kernel_old_gid_t;
1369 typedef long long __vki_kernel_loff_t;   1369 typedef long long __vki_kernel_loff_t;
1370 struct __anonstruct___vki_kernel_fsid_t_73 {   1370 struct __anonstruct___vki_kernel_fsid_t_73 {
1371    int val[2] ;   1371    int val[2] ;
1372 };   1372 };
1373 typedef struct __anonstruct___vki_kernel_fsid_t_73 __vki_kernel_fsid_t;   1373 typedef struct __anonstruct___vki_kernel_fsid_t_73 __vki_kernel_fsid_t;
1374 struct __anonstruct___vki_kernel_fd_set_74 {   1374 struct __anonstruct___vki_kernel_fd_set_74 {
1375    unsigned long fds_bits[1024U / (8U * sizeof(unsigned long ))] ;   1375    unsigned long fds_bits[1024U / (8U * sizeof(unsigned long ))] ;
1376 };   1376 };
1377 typedef struct __anonstruct___vki_kernel_fd_set_74 __vki_kernel_fd_set;   1377 typedef struct __anonstruct___vki_kernel_fd_set_74 __vki_kernel_fd_set;
1378 typedef int __vki_kernel_key_t;   1378 typedef int __vki_kernel_key_t;
1379 typedef int __vki_kernel_mqd_t;   1379 typedef int __vki_kernel_mqd_t;
1380 typedef __vki_kernel_fd_set vki_fd_set;   1380 typedef __vki_kernel_fd_set vki_fd_set;
1381 typedef __vki_kernel_mode_t vki_mode_t;   1381 typedef __vki_kernel_mode_t vki_mode_t;
1382 typedef __vki_kernel_off_t vki_off_t;   1382 typedef __vki_kernel_off_t vki_off_t;
1383 typedef __vki_kernel_pid_t vki_pid_t;   1383 typedef __vki_kernel_pid_t vki_pid_t;
1384 typedef __vki_kernel_key_t vki_key_t;   1384 typedef __vki_kernel_key_t vki_key_t;
1385 typedef __vki_kernel_suseconds_t vki_suseconds_t;   1385 typedef __vki_kernel_suseconds_t vki_suseconds_t;
1386 typedef __vki_kernel_timer_t vki_timer_t;   1386 typedef __vki_kernel_timer_t vki_timer_t;
1387 typedef __vki_kernel_clockid_t vki_clockid_t;   1387 typedef __vki_kernel_clockid_t vki_clockid_t;
1388 typedef __vki_kernel_mqd_t vki_mqd_t;   1388 typedef __vki_kernel_mqd_t vki_mqd_t;
1389 typedef __vki_kernel_uid32_t vki_uid_t;   1389 typedef __vki_kernel_uid32_t vki_uid_t;
1390 typedef __vki_kernel_gid32_t vki_gid_t;   1390 typedef __vki_kernel_gid32_t vki_gid_t;
1391 typedef __vki_kernel_old_uid_t vki_old_uid_t;   1391 typedef __vki_kernel_old_uid_t vki_old_uid_t;
1392 typedef __vki_kernel_old_gid_t vki_old_gid_t;   1392 typedef __vki_kernel_old_gid_t vki_old_gid_t;
1393 typedef __vki_kernel_loff_t vki_loff_t;   1393 typedef __vki_kernel_loff_t vki_loff_t;
1394 typedef __vki_kernel_size_t vki_size_t;   1394 typedef __vki_kernel_size_t vki_size_t;
1395 typedef __vki_kernel_time_t vki_time_t;   1395 typedef __vki_kernel_time_t vki_time_t;
1396 typedef __vki_kernel_clock_t vki_clock_t;   1396 typedef __vki_kernel_clock_t vki_clock_t;
1397 typedef __vki_kernel_caddr_t vki_caddr_t;   1397 typedef __vki_kernel_caddr_t vki_caddr_t;
1398 typedef unsigned long vki_u_long;   1398 typedef unsigned long vki_u_long;
1399 typedef unsigned int vki_uint;   1399 typedef unsigned int vki_uint;
1400 typedef unsigned char __vki_u8;   1400 typedef unsigned char __vki_u8;
1401 typedef short __vki_s16;   1401 typedef short __vki_s16;
1402 typedef unsigned short __vki_u16;   1402 typedef unsigned short __vki_u16;
1403 typedef int __vki_s32;   1403 typedef int __vki_s32;
1404 typedef unsigned int __vki_u32;   1404 typedef unsigned int __vki_u32;
1405 typedef long long __vki_s64;   1405 typedef long long __vki_s64;
1406 typedef unsigned long long __vki_u64;   1406 typedef unsigned long long __vki_u64;
1407 typedef unsigned short vki_u16;   1407 typedef unsigned short vki_u16;
1408 typedef unsigned int vki_u32;   1408 typedef unsigned int vki_u32;
1409 typedef void __vki_signalfn_t(int  );   1409 typedef void __vki_signalfn_t(int  );
1410 typedef __vki_signalfn_t *__vki_sighandler_t;   1410 typedef __vki_signalfn_t *__vki_sighandler_t;
1411 typedef void __vki_restorefn_t(void);   1411 typedef void __vki_restorefn_t(void);
1412 typedef __vki_restorefn_t *__vki_sigrestore_t;   1412 typedef __vki_restorefn_t *__vki_sigrestore_t;
1413 typedef unsigned long vki_old_sigset_t;   1413 typedef unsigned long vki_old_sigset_t;
1414 struct __anonstruct_vki_sigset_t_75 {   1414 struct __anonstruct_vki_sigset_t_75 {
1415    unsigned long sig[2] ;   1415    unsigned long sig[2] ;
1416 };   1416 };
1417 typedef struct __anonstruct_vki_sigset_t_75 vki_sigset_t;   1417 typedef struct __anonstruct_vki_sigset_t_75 vki_sigset_t;
1418 struct vki_old_sigaction {   1418 struct vki_old_sigaction {
1419    __vki_sighandler_t ksa_handler ;   1419    __vki_sighandler_t ksa_handler ;
1420    vki_old_sigset_t sa_mask ;   1420    vki_old_sigset_t sa_mask ;
1421    unsigned long sa_flags ;   1421    unsigned long sa_flags ;
1422    __vki_sigrestore_t sa_restorer ;   1422    __vki_sigrestore_t sa_restorer ;
1423 };   1423 };
1424 struct vki_sigaction_base {   1424 struct vki_sigaction_base {
1425    __vki_sighandler_t ksa_handler ;   1425    __vki_sighandler_t ksa_handler ;
1426    unsigned long sa_flags ;   1426    unsigned long sa_flags ;
1427    __vki_sigrestore_t sa_restorer ;   1427    __vki_sigrestore_t sa_restorer ;
1428    vki_sigset_t sa_mask ;   1428    vki_sigset_t sa_mask ;
1429 };   1429 };
1430 typedef struct vki_sigaction_base vki_sigaction_toK_t;   1430 typedef struct vki_sigaction_base vki_sigaction_toK_t;
1431 typedef struct vki_sigaction_base vki_sigaction_fromK_t;   1431 typedef struct vki_sigaction_base vki_sigaction_fromK_t;
1432 struct vki_sigaltstack {   1432 struct vki_sigaltstack {
1433    void *ss_sp ;   1433    void *ss_sp ;
1434    int ss_flags ;   1434    int ss_flags ;
1435    vki_size_t ss_size ;   1435    vki_size_t ss_size ;
1436 };   1436 };
1437 typedef struct vki_sigaltstack vki_stack_t;   1437 typedef struct vki_sigaltstack vki_stack_t;
1438 struct _vki_fpreg {   1438 struct _vki_fpreg {
1439    unsigned short significand[4] ;   1439    unsigned short significand[4] ;
1440    unsigned short exponent ;   1440    unsigned short exponent ;
1441 };   1441 };
1442 struct _vki_fpxreg {   1442 struct _vki_fpxreg {
1443    unsigned short significand[4] ;   1443    unsigned short significand[4] ;
1444    unsigned short exponent ;   1444    unsigned short exponent ;
1445    unsigned short padding[3] ;   1445    unsigned short padding[3] ;
1446 };   1446 };
1447 struct _vki_xmmreg {   1447 struct _vki_xmmreg {
1448    unsigned long element[4] ;   1448    unsigned long element[4] ;
1449 };   1449 };
1450 struct _vki_fpstate {   1450 struct _vki_fpstate {
1451    unsigned long cw ;   1451    unsigned long cw ;
1452    unsigned long sw ;   1452    unsigned long sw ;
1453    unsigned long tag ;   1453    unsigned long tag ;
1454    unsigned long ipoff ;   1454    unsigned long ipoff ;
1455    unsigned long cssel ;   1455    unsigned long cssel ;
1456    unsigned long dataoff ;   1456    unsigned long dataoff ;
1457    unsigned long datasel ;   1457    unsigned long datasel ;
1458    struct _vki_fpreg _st[8] ;   1458    struct _vki_fpreg _st[8] ;
1459    unsigned short status ;   1459    unsigned short status ;
1460    unsigned short magic ;   1460    unsigned short magic ;
1461    unsigned long _fxsr_env[6] ;   1461    unsigned long _fxsr_env[6] ;
1462    unsigned long mxcsr ;   1462    unsigned long mxcsr ;
1463    unsigned long reserved ;   1463    unsigned long reserved ;
1464    struct _vki_fpxreg _fxsr_st[8] ;   1464    struct _vki_fpxreg _fxsr_st[8] ;
1465    struct _vki_xmmreg _xmm[8] ;   1465    struct _vki_xmmreg _xmm[8] ;
1466    unsigned long padding[56] ;   1466    unsigned long padding[56] ;
1467 };   1467 };
1468 struct vki_sigcontext {   1468 struct vki_sigcontext {
1469    unsigned short gs ;   1469    unsigned short gs ;
1470    unsigned short __gsh ;   1470    unsigned short __gsh ;
1471    unsigned short fs ;   1471    unsigned short fs ;
1472    unsigned short __fsh ;   1472    unsigned short __fsh ;
1473    unsigned short es ;   1473    unsigned short es ;
1474    unsigned short __esh ;   1474    unsigned short __esh ;
1475    unsigned short ds ;   1475    unsigned short ds ;
1476    unsigned short __dsh ;   1476    unsigned short __dsh ;
1477    unsigned long edi ;   1477    unsigned long edi ;
1478    unsigned long esi ;   1478    unsigned long esi ;
1479    unsigned long ebp ;   1479    unsigned long ebp ;
1480    unsigned long esp ;   1480    unsigned long esp ;
1481    unsigned long ebx ;   1481    unsigned long ebx ;
1482    unsigned long edx ;   1482    unsigned long edx ;
1483    unsigned long ecx ;   1483    unsigned long ecx ;
1484    unsigned long eax ;   1484    unsigned long eax ;
1485    unsigned long trapno ;   1485    unsigned long trapno ;
1486    unsigned long err ;   1486    unsigned long err ;
1487    unsigned long eip ;   1487    unsigned long eip ;
1488    unsigned short cs ;   1488    unsigned short cs ;
1489    unsigned short __csh ;   1489    unsigned short __csh ;
1490    unsigned long eflags ;   1490    unsigned long eflags ;
1491    unsigned long esp_at_signal ;   1491    unsigned long esp_at_signal ;
1492    unsigned short ss ;   1492    unsigned short ss ;
1493    unsigned short __ssh ;   1493    unsigned short __ssh ;
1494    struct _vki_fpstate *fpstate ;   1494    struct _vki_fpstate *fpstate ;
1495    unsigned long oldmask ;   1495    unsigned long oldmask ;
1496    unsigned long cr2 ;   1496    unsigned long cr2 ;
1497 };   1497 };
1498 struct vki_stat {   1498 struct vki_stat {
1499    unsigned long st_dev ;   1499    unsigned long st_dev ;
1500    unsigned long st_ino ;   1500    unsigned long st_ino ;
1501    unsigned short st_mode ;   1501    unsigned short st_mode ;
1502    unsigned short st_nlink ;   1502    unsigned short st_nlink ;
1503    unsigned short st_uid ;   1503    unsigned short st_uid ;
1504    unsigned short st_gid ;   1504    unsigned short st_gid ;
1505    unsigned long st_rdev ;   1505    unsigned long st_rdev ;
1506    unsigned long st_size ;   1506    unsigned long st_size ;
1507    unsigned long st_blksize ;   1507    unsigned long st_blksize ;
1508    unsigned long st_blocks ;   1508    unsigned long st_blocks ;
1509    unsigned long st_atime ;   1509    unsigned long st_atime ;
1510    unsigned long st_atime_nsec ;   1510    unsigned long st_atime_nsec ;
1511    unsigned long st_mtime ;   1511    unsigned long st_mtime ;
1512    unsigned long st_mtime_nsec ;   1512    unsigned long st_mtime_nsec ;
1513    unsigned long st_ctime ;   1513    unsigned long st_ctime ;
1514    unsigned long st_ctime_nsec ;   1514    unsigned long st_ctime_nsec ;
1515    unsigned long __unused4 ;   1515    unsigned long __unused4 ;
1516    unsigned long __unused5 ;   1516    unsigned long __unused5 ;
1517 };   1517 };
1518 struct vki_stat64 {   1518 struct vki_stat64 {
1519    unsigned long long st_dev ;   1519    unsigned long long st_dev ;
1520    unsigned char __pad0[4] ;   1520    unsigned char __pad0[4] ;
1521    unsigned long __st_ino ;   1521    unsigned long __st_ino ;
1522    unsigned int st_mode ;   1522    unsigned int st_mode ;
1523    unsigned int st_nlink ;   1523    unsigned int st_nlink ;
1524    unsigned long st_uid ;   1524    unsigned long st_uid ;
1525    unsigned long st_gid ;   1525    unsigned long st_gid ;
1526    unsigned long long st_rdev ;   1526    unsigned long long st_rdev ;
1527    unsigned char __pad3[4] ;   1527    unsigned char __pad3[4] ;
1528    long long st_size ;   1528    long long st_size ;
1529    unsigned long st_blksize ;   1529    unsigned long st_blksize ;
1530    unsigned long st_blocks ;   1530    unsigned long st_blocks ;
1531    unsigned long __pad4 ;   1531    unsigned long __pad4 ;
1532    unsigned long st_atime ;   1532    unsigned long st_atime ;
1533    unsigned long st_atime_nsec ;   1533    unsigned long st_atime_nsec ;
1534    unsigned long st_mtime ;   1534    unsigned long st_mtime ;
1535    unsigned int st_mtime_nsec ;   1535    unsigned int st_mtime_nsec ;
1536    unsigned long st_ctime ;   1536    unsigned long st_ctime ;
1537    unsigned long st_ctime_nsec ;   1537    unsigned long st_ctime_nsec ;
1538    unsigned long long st_ino ;   1538    unsigned long long st_ino ;
1539 };   1539 };
1540 struct vki_statfs {   1540 struct vki_statfs {
1541    __vki_u32 f_type ;   1541    __vki_u32 f_type ;
1542    __vki_u32 f_bsize ;   1542    __vki_u32 f_bsize ;
1543    __vki_u32 f_blocks ;   1543    __vki_u32 f_blocks ;
1544    __vki_u32 f_bfree ;   1544    __vki_u32 f_bfree ;
1545    __vki_u32 f_bavail ;   1545    __vki_u32 f_bavail ;
1546    __vki_u32 f_files ;   1546    __vki_u32 f_files ;
1547    __vki_u32 f_ffree ;   1547    __vki_u32 f_ffree ;
1548    __vki_kernel_fsid_t f_fsid ;   1548    __vki_kernel_fsid_t f_fsid ;
1549    __vki_u32 f_namelen ;   1549    __vki_u32 f_namelen ;
1550    __vki_u32 f_frsize ;   1550    __vki_u32 f_frsize ;
1551    __vki_u32 f_spare[5] ;   1551    __vki_u32 f_spare[5] ;
1552 };   1552 };
1553 struct vki_winsize {   1553 struct vki_winsize {
1554    unsigned short ws_row ;   1554    unsigned short ws_row ;
1555    unsigned short ws_col ;   1555    unsigned short ws_col ;
1556    unsigned short ws_xpixel ;   1556    unsigned short ws_xpixel ;
1557    unsigned short ws_ypixel ;   1557    unsigned short ws_ypixel ;
1558 };   1558 };
1559 struct vki_termio {   1559 struct vki_termio {
1560    unsigned short c_iflag ;   1560    unsigned short c_iflag ;
1561    unsigned short c_oflag ;   1561    unsigned short c_oflag ;
1562    unsigned short c_cflag ;   1562    unsigned short c_cflag ;
1563    unsigned short c_lflag ;   1563    unsigned short c_lflag ;
1564    unsigned char c_line ;   1564    unsigned char c_line ;
1565    unsigned char c_cc[8] ;   1565    unsigned char c_cc[8] ;
1566 };   1566 };
1567 typedef unsigned char vki_cc_t;   1567 typedef unsigned char vki_cc_t;
1568 typedef unsigned int vki_tcflag_t;   1568 typedef unsigned int vki_tcflag_t;
1569 struct vki_termios {   1569 struct vki_termios {
1570    vki_tcflag_t c_iflag ;   1570    vki_tcflag_t c_iflag ;
1571    vki_tcflag_t c_oflag ;   1571    vki_tcflag_t c_oflag ;
1572    vki_tcflag_t c_cflag ;   1572    vki_tcflag_t c_cflag ;
1573    vki_tcflag_t c_lflag ;   1573    vki_tcflag_t c_lflag ;
1574    vki_cc_t c_line ;   1574    vki_cc_t c_line ;
1575    vki_cc_t c_cc[19] ;   1575    vki_cc_t c_cc[19] ;
1576 };   1576 };
1577 struct vki_pollfd {   1577 struct vki_pollfd {
1578    int fd ;   1578    int fd ;
1579    short events ;   1579    short events ;
1580    short revents ;   1580    short revents ;
1581 };   1581 };
1582 struct vki_user_i387_struct {   1582 struct vki_user_i387_struct {
1583    long cwd ;   1583    long cwd ;
1584    long swd ;   1584    long swd ;
1585    long twd ;   1585    long twd ;
1586    long fip ;   1586    long fip ;
1587    long fcs ;   1587    long fcs ;
1588    long foo ;   1588    long foo ;
1589    long fos ;   1589    long fos ;
1590    long st_space[20] ;   1590    long st_space[20] ;
1591 };   1591 };
1592 struct vki_user_fxsr_struct {   1592 struct vki_user_fxsr_struct {
1593    unsigned short cwd ;   1593    unsigned short cwd ;
1594    unsigned short swd ;   1594    unsigned short swd ;
1595    unsigned short twd ;   1595    unsigned short twd ;
1596    unsigned short fop ;   1596    unsigned short fop ;
1597    long fip ;   1597    long fip ;
1598    long fcs ;   1598    long fcs ;
1599    long foo ;   1599    long foo ;
1600    long fos ;   1600    long fos ;
1601    long mxcsr ;   1601    long mxcsr ;
1602    long reserved ;   1602    long reserved ;
1603    long st_space[32] ;   1603    long st_space[32] ;
1604    long xmm_space[32] ;   1604    long xmm_space[32] ;
1605    long padding[56] ;   1605    long padding[56] ;
1606 };   1606 };
1607 struct vki_user_regs_struct {   1607 struct vki_user_regs_struct {
1608    long ebx ;   1608    long ebx ;
1609    long ecx ;   1609    long ecx ;
1610    long edx ;   1610    long edx ;
1611    long esi ;   1611    long esi ;
1612    long edi ;   1612    long edi ;
1613    long ebp ;   1613    long ebp ;
1614    long eax ;   1614    long eax ;
1615    unsigned short ds ;   1615    unsigned short ds ;
1616    unsigned short __ds ;   1616    unsigned short __ds ;
1617    unsigned short es ;   1617    unsigned short es ;
1618    unsigned short __es ;   1618    unsigned short __es ;
1619    unsigned short fs ;   1619    unsigned short fs ;
1620    unsigned short __fs ;   1620    unsigned short __fs ;
1621    unsigned short gs ;   1621    unsigned short gs ;
1622    unsigned short __gs ;   1622    unsigned short __gs ;
1623    long orig_eax ;   1623    long orig_eax ;
1624    long eip ;   1624    long eip ;
1625    unsigned short cs ;   1625    unsigned short cs ;
1626    unsigned short __cs ;   1626    unsigned short __cs ;
1627    long eflags ;   1627    long eflags ;
1628    long esp ;   1628    long esp ;
1629    unsigned short ss ;   1629    unsigned short ss ;
1630    unsigned short __ss ;   1630    unsigned short __ss ;
1631 };   1631 };
1632 typedef unsigned long vki_elf_greg_t;   1632 typedef unsigned long vki_elf_greg_t;
1633 typedef vki_elf_greg_t vki_elf_gregset_t[sizeof(struct vki_user_regs_struct ) / sizeof(vki_elf_greg_t )];   1633 typedef vki_elf_greg_t vki_elf_gregset_t[sizeof(struct vki_user_regs_struct ) / sizeof(vki_elf_greg_t )];
1634 typedef struct vki_user_i387_struct vki_elf_fpregset_t;   1634 typedef struct vki_user_i387_struct vki_elf_fpregset_t;
1635 typedef struct vki_user_fxsr_struct vki_elf_fpxregset_t;   1635 typedef struct vki_user_fxsr_struct vki_elf_fpxregset_t;
1636 struct vki_ucontext {   1636 struct vki_ucontext {
1637    unsigned long uc_flags ;   1637    unsigned long uc_flags ;
1638    struct vki_ucontext *uc_link ;   1638    struct vki_ucontext *uc_link ;
1639    vki_stack_t uc_stack ;   1639    vki_stack_t uc_stack ;
1640    struct vki_sigcontext uc_mcontext ;   1640    struct vki_sigcontext uc_mcontext ;
1641    vki_sigset_t uc_sigmask ;   1641    vki_sigset_t uc_sigmask ;
1642 };   1642 };
1643 struct vki_user_desc {   1643 struct vki_user_desc {
1644    unsigned int entry_number ;   1644    unsigned int entry_number ;
1645    unsigned long base_addr ;   1645    unsigned long base_addr ;
1646    unsigned int limit ;   1646    unsigned int limit ;
1647    unsigned int seg_32bit : 1 ;   1647    unsigned int seg_32bit : 1 ;
1648    unsigned int contents : 2 ;   1648    unsigned int contents : 2 ;
1649    unsigned int read_exec_only : 1 ;   1649    unsigned int read_exec_only : 1 ;
1650    unsigned int limit_in_pages : 1 ;   1650    unsigned int limit_in_pages : 1 ;
1651    unsigned int seg_not_present : 1 ;   1651    unsigned int seg_not_present : 1 ;
1652    unsigned int useable : 1 ;   1652    unsigned int useable : 1 ;
1653    unsigned int reserved : 25 ;   1653    unsigned int reserved : 25 ;
1654 };   1654 };
1655 typedef struct vki_user_desc vki_modify_ldt_t;   1655 typedef struct vki_user_desc vki_modify_ldt_t;
1656 struct vki_ipc64_perm {   1656 struct vki_ipc64_perm {
1657    __vki_kernel_key_t key ;   1657    __vki_kernel_key_t key ;
1658    __vki_kernel_uid32_t uid ;   1658    __vki_kernel_uid32_t uid ;
1659    __vki_kernel_gid32_t gid ;   1659    __vki_kernel_gid32_t gid ;
1660    __vki_kernel_uid32_t cuid ;   1660    __vki_kernel_uid32_t cuid ;
1661    __vki_kernel_gid32_t cgid ;   1661    __vki_kernel_gid32_t cgid ;
1662    __vki_kernel_mode_t mode ;   1662    __vki_kernel_mode_t mode ;
1663    unsigned short __pad1 ;   1663    unsigned short __pad1 ;
1664    unsigned short seq ;   1664    unsigned short seq ;
1665    unsigned short __pad2 ;   1665    unsigned short __pad2 ;
1666    unsigned long __unused1 ;   1666    unsigned long __unused1 ;
1667    unsigned long __unused2 ;   1667    unsigned long __unused2 ;
1668 };   1668 };
1669 struct vki_semid64_ds {   1669 struct vki_semid64_ds {
1670    struct vki_ipc64_perm sem_perm ;   1670    struct vki_ipc64_perm sem_perm ;
1671    __vki_kernel_time_t sem_otime ;   1671    __vki_kernel_time_t sem_otime ;
1672    unsigned long __unused1 ;   1672    unsigned long __unused1 ;
1673    __vki_kernel_time_t sem_ctime ;   1673    __vki_kernel_time_t sem_ctime ;
1674    unsigned long __unused2 ;   1674    unsigned long __unused2 ;
1675    unsigned long sem_nsems ;   1675    unsigned long sem_nsems ;
1676    unsigned long __unused3 ;   1676    unsigned long __unused3 ;
1677    unsigned long __unused4 ;   1677    unsigned long __unused4 ;
1678 };   1678 };
1679 struct vki_msqid64_ds {   1679 struct vki_msqid64_ds {
1680    struct vki_ipc64_perm msg_perm ;   1680    struct vki_ipc64_perm msg_perm ;
1681    __vki_kernel_time_t msg_stime ;   1681    __vki_kernel_time_t msg_stime ;
1682    unsigned long __unused1 ;   1682    unsigned long __unused1 ;
1683    __vki_kernel_time_t msg_rtime ;   1683    __vki_kernel_time_t msg_rtime ;
1684    unsigned long __unused2 ;   1684    unsigned long __unused2 ;
1685    __vki_kernel_time_t msg_ctime ;   1685    __vki_kernel_time_t msg_ctime ;
1686    unsigned long __unused3 ;   1686    unsigned long __unused3 ;
1687    unsigned long msg_cbytes ;   1687    unsigned long msg_cbytes ;
1688    unsigned long msg_qnum ;   1688    unsigned long msg_qnum ;
1689    unsigned long msg_qbytes ;   1689    unsigned long msg_qbytes ;
1690    __vki_kernel_pid_t msg_lspid ;   1690    __vki_kernel_pid_t msg_lspid ;
1691    __vki_kernel_pid_t msg_lrpid ;   1691    __vki_kernel_pid_t msg_lrpid ;
1692    unsigned long __unused4 ;   1692    unsigned long __unused4 ;
1693    unsigned long __unused5 ;   1693    unsigned long __unused5 ;
1694 };   1694 };
1695 struct vki_msgbuf;   1695 struct vki_msgbuf;
1696 struct vki_ipc_kludge {   1696 struct vki_ipc_kludge {
1697    struct vki_msgbuf *msgp ;   1697    struct vki_msgbuf *msgp ;
1698    long msgtyp ;   1698    long msgtyp ;
1699 };   1699 };
1700 struct vki_shmid64_ds {   1700 struct vki_shmid64_ds {
1701    struct vki_ipc64_perm shm_perm ;   1701    struct vki_ipc64_perm shm_perm ;
1702    vki_size_t shm_segsz ;   1702    vki_size_t shm_segsz ;
1703    __vki_kernel_time_t shm_atime ;   1703    __vki_kernel_time_t shm_atime ;
1704    unsigned long __unused1 ;   1704    unsigned long __unused1 ;
1705    __vki_kernel_time_t shm_dtime ;   1705    __vki_kernel_time_t shm_dtime ;
1706    unsigned long __unused2 ;   1706    unsigned long __unused2 ;
1707    __vki_kernel_time_t shm_ctime ;   1707    __vki_kernel_time_t shm_ctime ;
1708    unsigned long __unused3 ;   1708    unsigned long __unused3 ;
1709    __vki_kernel_pid_t shm_cpid ;   1709    __vki_kernel_pid_t shm_cpid ;
1710    __vki_kernel_pid_t shm_lpid ;   1710    __vki_kernel_pid_t shm_lpid ;
1711    unsigned long shm_nattch ;   1711    unsigned long shm_nattch ;
1712    unsigned long __unused4 ;   1712    unsigned long __unused4 ;
1713    unsigned long __unused5 ;   1713    unsigned long __unused5 ;
1714 };   1714 };
1715 struct vki_shminfo64 {   1715 struct vki_shminfo64 {
1716    unsigned long shmmax ;   1716    unsigned long shmmax ;
1717    unsigned long shmmin ;   1717    unsigned long shmmin ;
1718    unsigned long shmmni ;   1718    unsigned long shmmni ;
1719    unsigned long shmseg ;   1719    unsigned long shmseg ;
1720    unsigned long shmall ;   1720    unsigned long shmall ;
1721    unsigned long __unused1 ;   1721    unsigned long __unused1 ;
1722    unsigned long __unused2 ;   1722    unsigned long __unused2 ;
1723    unsigned long __unused3 ;   1723    unsigned long __unused3 ;
1724    unsigned long __unused4 ;   1724    unsigned long __unused4 ;
1725 };   1725 };
1726 struct vki_vm86_regs {   1726 struct vki_vm86_regs {
1727    long ebx ;   1727    long ebx ;
1728    long ecx ;   1728    long ecx ;
1729    long edx ;   1729    long edx ;
1730    long esi ;   1730    long esi ;
1731    long edi ;   1731    long edi ;
1732    long ebp ;   1732    long ebp ;
1733    long eax ;   1733    long eax ;
1734    long __null_ds ;   1734    long __null_ds ;
1735    long __null_es ;   1735    long __null_es ;
1736    long __null_fs ;   1736    long __null_fs ;
1737    long __null_gs ;   1737    long __null_gs ;
1738    long orig_eax ;   1738    long orig_eax ;
1739    long eip ;   1739    long eip ;
1740    unsigned short cs ;   1740    unsigned short cs ;
1741    unsigned short __csh ;   1741    unsigned short __csh ;
1742    long eflags ;   1742    long eflags ;
1743    long esp ;   1743    long esp ;
1744    unsigned short ss ;   1744    unsigned short ss ;
1745    unsigned short __ssh ;   1745    unsigned short __ssh ;
1746    unsigned short es ;   1746    unsigned short es ;
1747    unsigned short __esh ;   1747    unsigned short __esh ;
1748    unsigned short ds ;   1748    unsigned short ds ;
1749    unsigned short __dsh ;   1749    unsigned short __dsh ;
1750    unsigned short fs ;   1750    unsigned short fs ;
1751    unsigned short __fsh ;   1751    unsigned short __fsh ;
1752    unsigned short gs ;   1752    unsigned short gs ;
1753    unsigned short __gsh ;   1753    unsigned short __gsh ;
1754 };   1754 };
1755 struct vki_revectored_struct {   1755 struct vki_revectored_struct {
1756    unsigned long __map[8] ;   1756    unsigned long __map[8] ;
1757 };   1757 };
1758 struct vki_vm86_struct {   1758 struct vki_vm86_struct {
1759    struct vki_vm86_regs regs ;   1759    struct vki_vm86_regs regs ;
1760    unsigned long flags ;   1760    unsigned long flags ;
1761    unsigned long screen_bitmap ;   1761    unsigned long screen_bitmap ;
1762    unsigned long cpu_type ;   1762    unsigned long cpu_type ;
1763    struct vki_revectored_struct int_revectored ;   1763    struct vki_revectored_struct int_revectored ;
1764    struct vki_revectored_struct int21_revectored ;   1764    struct vki_revectored_struct int21_revectored ;
1765 };   1765 };
1766 struct vki_vm86plus_info_struct {   1766 struct vki_vm86plus_info_struct {
1767    unsigned long force_return_for_pic : 1 ;   1767    unsigned long force_return_for_pic : 1 ;
1768    unsigned long vm86dbg_active : 1 ;   1768    unsigned long vm86dbg_active : 1 ;
1769    unsigned long vm86dbg_TFpendig : 1 ;   1769    unsigned long vm86dbg_TFpendig : 1 ;
1770    unsigned long unused : 28 ;   1770    unsigned long unused : 28 ;
1771    unsigned long is_vm86pus : 1 ;   1771    unsigned long is_vm86pus : 1 ;
1772    unsigned char vm86dbg_intxxtab[32] ;   1772    unsigned char vm86dbg_intxxtab[32] ;
1773 };   1773 };
1774 struct vki_vm86plus_struct {   1774 struct vki_vm86plus_struct {
1775    struct vki_vm86_regs regs ;   1775    struct vki_vm86_regs regs ;
1776    unsigned long flags ;   1776    unsigned long flags ;
1777    unsigned long screen_bitmap ;   1777    unsigned long screen_bitmap ;
1778    unsigned long cpu_type ;   1778    unsigned long cpu_type ;
1779    struct vki_revectored_struct int_revectored ;   1779    struct vki_revectored_struct int_revectored ;
1780    struct vki_revectored_struct int21_revectored ;   1780    struct vki_revectored_struct int21_revectored ;
1781    struct vki_vm86plus_info_struct vm86plus ;   1781    struct vki_vm86plus_info_struct vm86plus ;
1782 };   1782 };
1783 typedef __vki_s32 vki_int32_t;   1783 typedef __vki_s32 vki_int32_t;
1784 typedef __vki_u8 vki_uint8_t;   1784 typedef __vki_u8 vki_uint8_t;
1785 typedef __vki_u16 vki_uint16_t;   1785 typedef __vki_u16 vki_uint16_t;
1786 typedef __vki_u32 vki_uint32_t;   1786 typedef __vki_u32 vki_uint32_t;
1787 struct vki_sysinfo {   1787 struct vki_sysinfo {
1788    long uptime ;   1788    long uptime ;
1789    unsigned long loads[3] ;   1789    unsigned long loads[3] ;
1790    unsigned long totalram ;   1790    unsigned long totalram ;
1791    unsigned long freeram ;   1791    unsigned long freeram ;
1792    unsigned long sharedram ;   1792    unsigned long sharedram ;
1793    unsigned long bufferram ;   1793    unsigned long bufferram ;
1794    unsigned long totalswap ;   1794    unsigned long totalswap ;
1795    unsigned long freeswap ;   1795    unsigned long freeswap ;
1796    unsigned short procs ;   1796    unsigned short procs ;
1797    unsigned short pad ;   1797    unsigned short pad ;
1798    unsigned long totalhigh ;   1798    unsigned long totalhigh ;
1799    unsigned long freehigh ;   1799    unsigned long freehigh ;
1800    unsigned int mem_unit ;   1800    unsigned int mem_unit ;
1801    char _f[(20U - 2U * sizeof(long )) - sizeof(int )] ;   1801    char _f[(20U - 2U * sizeof(long )) - sizeof(int )] ;
1802 };   1802 };
1803 struct vki_timespec {   1803 struct vki_timespec {
1804    vki_time_t tv_sec ;   1804    vki_time_t tv_sec ;
1805    long tv_nsec ;   1805    long tv_nsec ;
1806 };   1806 };
1807 struct vki_timeval {   1807 struct vki_timeval {
1808    vki_time_t tv_sec ;   1808    vki_time_t tv_sec ;
1809    vki_suseconds_t tv_usec ;   1809    vki_suseconds_t tv_usec ;
1810 };   1810 };
1811 struct vki_timezone {   1811 struct vki_timezone {
1812    int tz_minuteswest ;   1812    int tz_minuteswest ;
1813    int tz_dsttime ;   1813    int tz_dsttime ;
1814 };   1814 };
1815 struct vki_itimerspec {   1815 struct vki_itimerspec {
1816    struct vki_timespec it_interval ;   1816    struct vki_timespec it_interval ;
1817    struct vki_timespec it_value ;   1817    struct vki_timespec it_value ;
1818 };   1818 };
1819 struct vki_itimerval {   1819 struct vki_itimerval {
1820    struct vki_timeval it_interval ;   1820    struct vki_timeval it_interval ;
1821    struct vki_timeval it_value ;   1821    struct vki_timeval it_value ;
1822 };   1822 };
1823 struct vki_timex {   1823 struct vki_timex {
1824    unsigned int modes ;   1824    unsigned int modes ;
1825    long offset ;   1825    long offset ;
1826    long freq ;   1826    long freq ;
1827    long maxerror ;   1827    long maxerror ;
1828    long esterror ;   1828    long esterror ;
1829    int status ;   1829    int status ;
1830    long constant ;   1830    long constant ;
1831    long precision ;   1831    long precision ;
1832    long tolerance ;   1832    long tolerance ;
1833    struct vki_timeval time ;   1833    struct vki_timeval time ;
1834    long tick ;   1834    long tick ;
1835    long ppsfreq ;   1835    long ppsfreq ;
1836    long jitter ;   1836    long jitter ;
1837    int shift ;   1837    int shift ;
1838    long stabil ;   1838    long stabil ;
1839    long jitcnt ;   1839    long jitcnt ;
1840    long calcnt ;   1840    long calcnt ;
1841    long errcnt ;   1841    long errcnt ;
1842    long stbcnt ;   1842    long stbcnt ;
1843    int  : 32 ;   1843    int  : 32 ;
1844    int  : 32 ;   1844    int  : 32 ;
1845    int  : 32 ;   1845    int  : 32 ;
1846    int  : 32 ;   1846    int  : 32 ;
1847    int  : 32 ;   1847    int  : 32 ;
1848    int  : 32 ;   1848    int  : 32 ;
1849    int  : 32 ;   1849    int  : 32 ;
1850    int  : 32 ;   1850    int  : 32 ;
1851    int  : 32 ;   1851    int  : 32 ;
1852    int  : 32 ;   1852    int  : 32 ;
1853    int  : 32 ;   1853    int  : 32 ;
1854    int  : 32 ;   1854    int  : 32 ;
1855 };   1855 };
1856 struct vki_tms {   1856 struct vki_tms {
1857    vki_clock_t tms_utime ;   1857    vki_clock_t tms_utime ;
1858    vki_clock_t tms_stime ;   1858    vki_clock_t tms_stime ;
1859    vki_clock_t tms_cutime ;   1859    vki_clock_t tms_cutime ;
1860    vki_clock_t tms_cstime ;   1860    vki_clock_t tms_cstime ;
1861 };   1861 };
1862 struct vki_utimbuf {   1862 struct vki_utimbuf {
1863    vki_time_t actime ;   1863    vki_time_t actime ;
1864    vki_time_t modtime ;   1864    vki_time_t modtime ;
1865 };   1865 };
1866 struct vki_sched_param {   1866 struct vki_sched_param {
1867    int sched_priority ;   1867    int sched_priority ;
1868 };   1868 };
1869 union vki_sigval {   1869 union vki_sigval {
1870    int sival_int ;   1870    int sival_int ;
1871    void *sival_ptr ;   1871    void *sival_ptr ;
1872 };   1872 };
1873 typedef union vki_sigval vki_sigval_t;   1873 typedef union vki_sigval vki_sigval_t;
1874 struct __anonstruct__kill_77 {   1874 struct __anonstruct__kill_77 {
1875    vki_pid_t _pid ;   1875    vki_pid_t _pid ;
1876    vki_uid_t _uid ;   1876    vki_uid_t _uid ;
1877 };   1877 };
1878 struct __anonstruct__timer_78 {   1878 struct __anonstruct__timer_78 {
1879    vki_timer_t _tid ;   1879    vki_timer_t _tid ;
1880    int _overrun ;   1880    int _overrun ;
1881    char _pad[sizeof(vki_uid_t ) - sizeof(int )] ;   1881    char _pad[sizeof(vki_uid_t ) - sizeof(int )] ;
1882    vki_sigval_t _sigval ;   1882    vki_sigval_t _sigval ;
1883    int _sys_private ;   1883    int _sys_private ;
1884 };   1884 };
1885 struct __anonstruct__rt_79 {   1885 struct __anonstruct__rt_79 {
1886    vki_pid_t _pid ;   1886    vki_pid_t _pid ;
1887    vki_uid_t _uid ;   1887    vki_uid_t _uid ;
1888    vki_sigval_t _sigval ;   1888    vki_sigval_t _sigval ;
1889 };   1889 };
1890 struct __anonstruct__sigchld_80 {   1890 struct __anonstruct__sigchld_80 {
1891    vki_pid_t _pid ;   1891    vki_pid_t _pid ;
1892    vki_uid_t _uid ;   1892    vki_uid_t _uid ;
1893    int _status ;   1893    int _status ;
1894    vki_clock_t _utime ;   1894    vki_clock_t _utime ;
1895    vki_clock_t _stime ;   1895    vki_clock_t _stime ;
1896 };   1896 };
1897 struct __anonstruct__sigfault_81 {   1897 struct __anonstruct__sigfault_81 {
1898    void *_addr ;   1898    void *_addr ;
1899 };   1899 };
1900 struct __anonstruct__sigpoll_82 {   1900 struct __anonstruct__sigpoll_82 {
1901    long _band ;   1901    long _band ;
1902    int _fd ;   1902    int _fd ;
1903 };   1903 };
1904 union __anonunion__sifields_76 {   1904 union __anonunion__sifields_76 {
1905    int _pad[(128U - 3U * sizeof(int )) / sizeof(int )] ;   1905    int _pad[(128U - 3U * sizeof(int )) / sizeof(int )] ;
1906    struct __anonstruct__kill_77 _kill ;   1906    struct __anonstruct__kill_77 _kill ;
1907    struct __anonstruct__timer_78 _timer ;   1907    struct __anonstruct__timer_78 _timer ;
1908    struct __anonstruct__rt_79 _rt ;   1908    struct __anonstruct__rt_79 _rt ;
1909    struct __anonstruct__sigchld_80 _sigchld ;   1909    struct __anonstruct__sigchld_80 _sigchld ;
1910    struct __anonstruct__sigfault_81 _sigfault ;   1910    struct __anonstruct__sigfault_81 _sigfault ;
1911    struct __anonstruct__sigpoll_82 _sigpoll ;   1911    struct __anonstruct__sigpoll_82 _sigpoll ;
1912 };   1912 };
1913 struct vki_siginfo {   1913 struct vki_siginfo {
1914    int si_signo ;   1914    int si_signo ;
1915    int si_errno ;   1915    int si_errno ;
1916    int si_code ;   1916    int si_code ;
1917    union __anonunion__sifields_76 _sifields ;   1917    union __anonunion__sifields_76 _sifields ;
1918 };   1918 };
1919 typedef struct vki_siginfo vki_siginfo_t;   1919 typedef struct vki_siginfo vki_siginfo_t;
1920 struct __anonstruct__sigev_thread_84 {   1920 struct __anonstruct__sigev_thread_84 {
1921    void (*_function)(vki_sigval_t  ) ;   1921    void (*_function)(vki_sigval_t  ) ;
1922    void *_attribute ;   1922    void *_attribute ;
1923 };   1923 };
1924 union __anonunion__sigev_un_83 {   1924 union __anonunion__sigev_un_83 {
1925    int _pad[(64U - (sizeof(int ) * 2U + sizeof(vki_sigval_t ))) / sizeof(int )] ;   1925    int _pad[(64U - (sizeof(int ) * 2U + sizeof(vki_sigval_t ))) / sizeof(int )] ;
1926    int _tid ;   1926    int _tid ;
1927    struct __anonstruct__sigev_thread_84 _sigev_thread ;   1927    struct __anonstruct__sigev_thread_84 _sigev_thread ;
1928 };   1928 };
1929 struct vki_sigevent {   1929 struct vki_sigevent {
1930    vki_sigval_t sigev_value ;   1930    vki_sigval_t sigev_value ;
1931    int sigev_signo ;   1931    int sigev_signo ;
1932    int sigev_notify ;   1932    int sigev_notify ;
1933    union __anonunion__sigev_un_83 _sigev_un ;   1933    union __anonunion__sigev_un_83 _sigev_un ;
1934 };   1934 };
1935 typedef struct vki_sigevent vki_sigevent_t;   1935 typedef struct vki_sigevent vki_sigevent_t;
1936 enum vki_sock_type {   1936 enum vki_sock_type {
1937     VKI_SOCK_STREAM = 1   1937     VKI_SOCK_STREAM = 1
1938 } ;   1938 } ;
1939 struct vki_iovec {   1939 struct vki_iovec {
1940    void *iov_base ;   1940    void *iov_base ;
1941    __vki_kernel_size_t iov_len ;   1941    __vki_kernel_size_t iov_len ;
1942 };   1942 };
1943 typedef unsigned short vki_sa_family_t;   1943 typedef unsigned short vki_sa_family_t;
1944 struct vki_sockaddr {   1944 struct vki_sockaddr {
1945    vki_sa_family_t sa_family ;   1945    vki_sa_family_t sa_family ;
1946    char sa_data[14] ;   1946    char sa_data[14] ;
1947 };   1947 };
1948 struct vki_msghdr {   1948 struct vki_msghdr {
1949    void *msg_name ;   1949    void *msg_name ;
1950    int msg_namelen ;   1950    int msg_namelen ;
1951    struct vki_iovec *msg_iov ;   1951    struct vki_iovec *msg_iov ;
1952    __vki_kernel_size_t msg_iovlen ;   1952    __vki_kernel_size_t msg_iovlen ;
1953    void *msg_control ;   1953    void *msg_control ;
1954    __vki_kernel_size_t msg_controllen ;   1954    __vki_kernel_size_t msg_controllen ;
1955    unsigned int msg_flags ;   1955    unsigned int msg_flags ;
1956 };   1956 };
1957 struct vki_cmsghdr {   1957 struct vki_cmsghdr {
1958    __vki_kernel_size_t cmsg_len ;   1958    __vki_kernel_size_t cmsg_len ;
1959    int cmsg_level ;   1959    int cmsg_level ;
1960    int cmsg_type ;   1960    int cmsg_type ;
1961 };   1961 };
1962 struct vki_in_addr {   1962 struct vki_in_addr {
1963    __vki_u32 s_addr ;   1963    __vki_u32 s_addr ;
1964 };   1964 };
1965 struct vki_sockaddr_in {   1965 struct vki_sockaddr_in {
1966    vki_sa_family_t sin_family ;   1966    vki_sa_family_t sin_family ;
1967    unsigned short sin_port ;   1967    unsigned short sin_port ;
1968    struct vki_in_addr sin_addr ;   1968    struct vki_in_addr sin_addr ;
1969    unsigned char __pad[((16U - sizeof(short )) - sizeof(unsigned short )) - sizeof(struct vki_in_addr )] ;   1969    unsigned char __pad[((16U - sizeof(short )) - sizeof(unsigned short )) - sizeof(struct vki_in_addr )] ;
1970 };   1970 };
1971 union __anonunion_vki_in6_u_85 {   1971 union __anonunion_vki_in6_u_85 {
1972    __vki_u8 u6_addr8[16] ;   1972    __vki_u8 u6_addr8[16] ;
1973    __vki_u16 u6_addr16[8] ;   1973    __vki_u16 u6_addr16[8] ;
1974    __vki_u32 u6_addr32[4] ;   1974    __vki_u32 u6_addr32[4] ;
1975 };   1975 };
1976 struct vki_in6_addr {   1976 struct vki_in6_addr {
1977    union __anonunion_vki_in6_u_85 vki_in6_u ;   1977    union __anonunion_vki_in6_u_85 vki_in6_u ;
1978 };   1978 };
1979 struct vki_sockaddr_in6 {   1979 struct vki_sockaddr_in6 {
1980    unsigned short sin6_family ;   1980    unsigned short sin6_family ;
1981    __vki_u16 sin6_port ;   1981    __vki_u16 sin6_port ;
1982    __vki_u32 sin6_flowinfo ;   1982    __vki_u32 sin6_flowinfo ;
1983    struct vki_in6_addr sin6_addr ;   1983    struct vki_in6_addr sin6_addr ;
1984    __vki_u32 sin6_scope_id ;   1984    __vki_u32 sin6_scope_id ;
1985 };   1985 };
1986 struct vki_sockaddr_un {   1986 struct vki_sockaddr_un {
1987    vki_sa_family_t sun_family ;   1987    vki_sa_family_t sun_family ;
1988    char sun_path[108] ;   1988    char sun_path[108] ;
1989 };   1989 };
1990 struct vki_ifmap {   1990 struct vki_ifmap {
1991    unsigned long mem_start ;   1991    unsigned long mem_start ;
1992    unsigned long mem_end ;   1992    unsigned long mem_end ;
1993    unsigned short base_addr ;   1993    unsigned short base_addr ;
1994    unsigned char irq ;   1994    unsigned char irq ;
1995    unsigned char dma ;   1995    unsigned char dma ;
1996    unsigned char port ;   1996    unsigned char port ;
1997 };   1997 };
1998 union __anonunion_ifs_ifsu_86 {   1998 union __anonunion_ifs_ifsu_86 {
1999    void *raw_hdlc ;   1999    void *raw_hdlc ;
2000    void *cisco ;   2000    void *cisco ;
2001    void *fr ;   2001    void *fr ;
2002    void *fr_pvc ;   2002    void *fr_pvc ;
2003    void *fr_pvc_info ;   2003    void *fr_pvc_info ;
2004    void *sync ;   2004    void *sync ;
2005    void *te1 ;   2005    void *te1 ;
2006 };   2006 };
2007 struct vki_if_settings {   2007 struct vki_if_settings {
2008    unsigned int type ;   2008    unsigned int type ;
2009    unsigned int size ;   2009    unsigned int size ;
2010    union __anonunion_ifs_ifsu_86 ifs_ifsu ;   2010    union __anonunion_ifs_ifsu_86 ifs_ifsu ;
2011 };   2011 };
2012 union __anonunion_ifr_ifrn_87 {   2012 union __anonunion_ifr_ifrn_87 {
2013    char ifrn_name[16] ;   2013    char ifrn_name[16] ;
2014 };   2014 };
2015 union __anonunion_ifr_ifru_88 {   2015 union __anonunion_ifr_ifru_88 {
2016    struct vki_sockaddr ifru_addr ;   2016    struct vki_sockaddr ifru_addr ;
2017    struct vki_sockaddr ifru_dstaddr ;   2017    struct vki_sockaddr ifru_dstaddr ;
2018    struct vki_sockaddr ifru_broadaddr ;   2018    struct vki_sockaddr ifru_broadaddr ;
2019    struct vki_sockaddr ifru_netmask ;   2019    struct vki_sockaddr ifru_netmask ;
2020    struct vki_sockaddr ifru_hwaddr ;   2020    struct vki_sockaddr ifru_hwaddr ;
2021    short ifru_flags ;   2021    short ifru_flags ;
2022    int ifru_ivalue ;   2022    int ifru_ivalue ;
2023    int ifru_mtu ;   2023    int ifru_mtu ;
2024    struct vki_ifmap ifru_map ;   2024    struct vki_ifmap ifru_map ;
2025    char ifru_slave[16] ;   2025    char ifru_slave[16] ;
2026    char ifru_newname[16] ;   2026    char ifru_newname[16] ;
2027    void *ifru_data ;   2027    void *ifru_data ;
2028    struct vki_if_settings ifru_settings ;   2028    struct vki_if_settings ifru_settings ;
2029 };   2029 };
2030 struct vki_ifreq {   2030 struct vki_ifreq {
2031    union __anonunion_ifr_ifrn_87 ifr_ifrn ;   2031    union __anonunion_ifr_ifrn_87 ifr_ifrn ;
2032    union __anonunion_ifr_ifru_88 ifr_ifru ;   2032    union __anonunion_ifr_ifru_88 ifr_ifru ;
2033 };   2033 };
2034 union __anonunion_ifc_ifcu_89 {   2034 union __anonunion_ifc_ifcu_89 {
2035    char *ifcu_buf ;   2035    char *ifcu_buf ;
2036    struct vki_ifreq *ifcu_req ;   2036    struct vki_ifreq *ifcu_req ;
2037 };   2037 };
2038 struct vki_ifconf {   2038 struct vki_ifconf {
2039    int ifc_len ;   2039    int ifc_len ;
2040    union __anonunion_ifc_ifcu_89 ifc_ifcu ;   2040    union __anonunion_ifc_ifcu_89 ifc_ifcu ;
2041 };   2041 };
2042 struct vki_arpreq {   2042 struct vki_arpreq {
2043    struct vki_sockaddr arp_pa ;   2043    struct vki_sockaddr arp_pa ;
2044    struct vki_sockaddr arp_ha ;   2044    struct vki_sockaddr arp_ha ;
2045    int arp_flags ;   2045    int arp_flags ;
2046    struct vki_sockaddr arp_netmask ;   2046    struct vki_sockaddr arp_netmask ;
2047    char arp_dev[16] ;   2047    char arp_dev[16] ;
2048 };   2048 };
2049 struct vki_rtentry {   2049 struct vki_rtentry {
2050    unsigned long rt_pad1 ;   2050    unsigned long rt_pad1 ;
2051    struct vki_sockaddr rt_dst ;   2051    struct vki_sockaddr rt_dst ;
2052    struct vki_sockaddr rt_gateway ;   2052    struct vki_sockaddr rt_gateway ;
2053    struct vki_sockaddr rt_genmask ;   2053    struct vki_sockaddr rt_genmask ;
2054    unsigned short rt_flags ;   2054    unsigned short rt_flags ;
2055    short rt_pad2 ;   2055    short rt_pad2 ;
2056    unsigned long rt_pad3 ;   2056    unsigned long rt_pad3 ;
2057    void *rt_pad4 ;   2057    void *rt_pad4 ;
2058    short rt_metric ;   2058    short rt_metric ;
2059    char *rt_dev ;   2059    char *rt_dev ;
2060    unsigned long rt_mtu ;   2060    unsigned long rt_mtu ;
2061    unsigned long rt_window ;   2061    unsigned long rt_window ;
2062    unsigned short rt_irtt ;   2062    unsigned short rt_irtt ;
2063 };   2063 };
2064 typedef __vki_s32 vki_sctp_assoc_t;   2064 typedef __vki_s32 vki_sctp_assoc_t;
2065 enum vki_sctp_optname {   2065 enum vki_sctp_optname {
2066     VKI_SCTP_RTOINFO = 0,   2066     VKI_SCTP_RTOINFO = 0,
2067     VKI_SCTP_ASSOCINFO = 1,   2067     VKI_SCTP_ASSOCINFO = 1,
2068     VKI_SCTP_INITMSG = 2,   2068     VKI_SCTP_INITMSG = 2,
2069     VKI_SCTP_NODELAY = 3,   2069     VKI_SCTP_NODELAY = 3,
2070     VKI_SCTP_AUTOCLOSE = 4,   2070     VKI_SCTP_AUTOCLOSE = 4,
2071     VKI_SCTP_SET_PEER_PRIMARY_ADDR = 5,   2071     VKI_SCTP_SET_PEER_PRIMARY_ADDR = 5,
2072     VKI_SCTP_PRIMARY_ADDR = 6,   2072     VKI_SCTP_PRIMARY_ADDR = 6,
2073     VKI_SCTP_ADAPTION_LAYER = 7,   2073     VKI_SCTP_ADAPTION_LAYER = 7,
2074     VKI_SCTP_DISABLE_FRAGMENTS = 8,   2074     VKI_SCTP_DISABLE_FRAGMENTS = 8,
2075     VKI_SCTP_PEER_ADDR_PARAMS = 9,   2075     VKI_SCTP_PEER_ADDR_PARAMS = 9,
2076     VKI_SCTP_DEFAULT_SEND_PARAM = 10,   2076     VKI_SCTP_DEFAULT_SEND_PARAM = 10,
2077     VKI_SCTP_EVENTS = 11,   2077     VKI_SCTP_EVENTS = 11,
2078     VKI_SCTP_I_WANT_MAPPED_V4_ADDR = 12,   2078     VKI_SCTP_I_WANT_MAPPED_V4_ADDR = 12,
2079     VKI_SCTP_MAXSEG = 13,   2079     VKI_SCTP_MAXSEG = 13,
2080     VKI_SCTP_STATUS = 14,   2080     VKI_SCTP_STATUS = 14,
2081     VKI_SCTP_GET_PEER_ADDR_INFO = 15,   2081     VKI_SCTP_GET_PEER_ADDR_INFO = 15,
2082     VKI_SCTP_SOCKOPT_BINDX_ADD = 100,   2082     VKI_SCTP_SOCKOPT_BINDX_ADD = 100,
2083     VKI_SCTP_SOCKOPT_BINDX_REM = 101,   2083     VKI_SCTP_SOCKOPT_BINDX_REM = 101,
2084     VKI_SCTP_SOCKOPT_PEELOFF = 102,   2084     VKI_SCTP_SOCKOPT_PEELOFF = 102,
2085     VKI_SCTP_GET_PEER_ADDRS_NUM = 103,   2085     VKI_SCTP_GET_PEER_ADDRS_NUM = 103,
2086     VKI_SCTP_GET_PEER_ADDRS = 104,   2086     VKI_SCTP_GET_PEER_ADDRS = 104,
2087     VKI_SCTP_GET_LOCAL_ADDRS_NUM = 105,   2087     VKI_SCTP_GET_LOCAL_ADDRS_NUM = 105,
2088     VKI_SCTP_GET_LOCAL_ADDRS = 106,   2088     VKI_SCTP_GET_LOCAL_ADDRS = 106,
2089     VKI_SCTP_SOCKOPT_CONNECTX = 107   2089     VKI_SCTP_SOCKOPT_CONNECTX = 107
2090 } ;   2090 } ;
2091 struct vki_sctp_getaddrs {   2091 struct vki_sctp_getaddrs {
2092    vki_sctp_assoc_t assoc_id ;   2092    vki_sctp_assoc_t assoc_id ;
2093    int addr_num ;   2093    int addr_num ;
2094    struct vki_sockaddr *addrs ;   2094    struct vki_sockaddr *addrs ;
2095 };   2095 };
2096 struct vki_rusage {   2096 struct vki_rusage {
2097    struct vki_timeval ru_utime ;   2097    struct vki_timeval ru_utime ;
2098    struct vki_timeval ru_stime ;   2098    struct vki_timeval ru_stime ;
2099    long ru_maxrss ;   2099    long ru_maxrss ;
2100    long ru_ixrss ;   2100    long ru_ixrss ;
2101    long ru_idrss ;   2101    long ru_idrss ;
2102    long ru_isrss ;   2102    long ru_isrss ;
2103    long ru_minflt ;   2103    long ru_minflt ;
2104    long ru_majflt ;   2104    long ru_majflt ;
2105    long ru_nswap ;   2105    long ru_nswap ;
2106    long ru_inblock ;   2106    long ru_inblock ;
2107    long ru_oublock ;   2107    long ru_oublock ;
2108    long ru_msgsnd ;   2108    long ru_msgsnd ;
2109    long ru_msgrcv ;   2109    long ru_msgrcv ;
2110    long ru_nsignals ;   2110    long ru_nsignals ;
2111    long ru_nvcsw ;   2111    long ru_nvcsw ;
2112    long ru_nivcsw ;   2112    long ru_nivcsw ;
2113 };   2113 };
2114 struct vki_rlimit {   2114 struct vki_rlimit {
2115    unsigned long rlim_cur ;   2115    unsigned long rlim_cur ;
2116    unsigned long rlim_max ;   2116    unsigned long rlim_max ;
2117 };   2117 };
2118 struct vki_rlimit64 {   2118 struct vki_rlimit64 {
2119    __vki_u64 rlim_cur ;   2119    __vki_u64 rlim_cur ;
2120    __vki_u64 rlim_max ;   2120    __vki_u64 rlim_max ;
2121 };   2121 };
2122 struct vki_elf_siginfo {   2122 struct vki_elf_siginfo {
2123    int si_signo ;   2123    int si_signo ;
2124    int si_code ;   2124    int si_code ;
2125    int si_errno ;   2125    int si_errno ;
2126 };   2126 };
2127 struct vki_elf_prstatus {   2127 struct vki_elf_prstatus {
2128    struct vki_elf_siginfo pr_info ;   2128    struct vki_elf_siginfo pr_info ;
2129    short pr_cursig ;   2129    short pr_cursig ;
2130    unsigned long pr_sigpend ;   2130    unsigned long pr_sigpend ;
2131    unsigned long pr_sighold ;   2131    unsigned long pr_sighold ;
2132    vki_pid_t pr_pid ;   2132    vki_pid_t pr_pid ;
2133    vki_pid_t pr_ppid ;   2133    vki_pid_t pr_ppid ;
2134    vki_pid_t pr_pgrp ;   2134    vki_pid_t pr_pgrp ;
2135    vki_pid_t pr_sid ;   2135    vki_pid_t pr_sid ;
2136    struct vki_timeval pr_utime ;   2136    struct vki_timeval pr_utime ;
2137    struct vki_timeval pr_stime ;   2137    struct vki_timeval pr_stime ;
2138    struct vki_timeval pr_cutime ;   2138    struct vki_timeval pr_cutime ;
2139    struct vki_timeval pr_cstime ;   2139    struct vki_timeval pr_cstime ;
2140    vki_elf_gregset_t pr_reg ;   2140    vki_elf_gregset_t pr_reg ;
2141    int pr_fpvalid ;   2141    int pr_fpvalid ;
2142 };   2142 };
2143 struct vki_elf_prpsinfo {   2143 struct vki_elf_prpsinfo {
2144    char pr_state ;   2144    char pr_state ;
2145    char pr_sname ;   2145    char pr_sname ;
2146    char pr_zomb ;   2146    char pr_zomb ;
2147    char pr_nice ;   2147    char pr_nice ;
2148    unsigned long pr_flag ;   2148    unsigned long pr_flag ;
2149    __vki_kernel_uid_t pr_uid ;   2149    __vki_kernel_uid_t pr_uid ;
2150    __vki_kernel_gid_t pr_gid ;   2150    __vki_kernel_gid_t pr_gid ;
2151    vki_pid_t pr_pid ;   2151    vki_pid_t pr_pid ;
2152    vki_pid_t pr_ppid ;   2152    vki_pid_t pr_ppid ;
2153    vki_pid_t pr_pgrp ;   2153    vki_pid_t pr_pgrp ;
2154    vki_pid_t pr_sid ;   2154    vki_pid_t pr_sid ;
2155    char pr_fname[16] ;   2155    char pr_fname[16] ;
2156    char pr_psargs[80] ;   2156    char pr_psargs[80] ;
2157 };   2157 };
2158 struct vki_epoll_event {   2158 struct vki_epoll_event {
2159    __vki_u32 events ;   2159    __vki_u32 events ;
2160    __vki_u64 data ;   2160    __vki_u64 data ;
2161 };   2161 };
2162 struct vki_mq_attr {   2162 struct vki_mq_attr {
2163    long mq_flags ;   2163    long mq_flags ;
2164    long mq_maxmsg ;   2164    long mq_maxmsg ;
2165    long mq_msgsize ;   2165    long mq_msgsize ;
2166    long mq_curmsgs ;   2166    long mq_curmsgs ;
2167    long __reserved[4] ;   2167    long __reserved[4] ;
2168 };   2168 };
2169 struct vki_new_utsname {   2169 struct vki_new_utsname {
2170    char sysname[65] ;   2170    char sysname[65] ;
2171    char nodename[65] ;   2171    char nodename[65] ;
2172    char release[65] ;   2172    char release[65] ;
2173    char version[65] ;   2173    char version[65] ;
2174    char machine[65] ;   2174    char machine[65] ;
2175    char domainname[65] ;   2175    char domainname[65] ;
2176 };   2176 };
2177 struct vki_mii_ioctl_data {   2177 struct vki_mii_ioctl_data {
2178    vki_u16 phy_id ;   2178    vki_u16 phy_id ;
2179    vki_u16 reg_num ;   2179    vki_u16 reg_num ;
2180    vki_u16 val_in ;   2180    vki_u16 val_in ;
2181    vki_u16 val_out ;   2181    vki_u16 val_out ;
2182 };   2182 };
2183 struct __vki_user_cap_header_struct {   2183 struct __vki_user_cap_header_struct {
2184    __vki_u32 version ;   2184    __vki_u32 version ;
2185    int pid ;   2185    int pid ;
2186 };   2186 };
2187 typedef struct __vki_user_cap_header_struct *vki_cap_user_header_t;   2187 typedef struct __vki_user_cap_header_struct *vki_cap_user_header_t;
2188 struct __vki_user_cap_data_struct {   2188 struct __vki_user_cap_data_struct {
2189    __vki_u32 effective ;   2189    __vki_u32 effective ;
2190    __vki_u32 permitted ;   2190    __vki_u32 permitted ;
2191    __vki_u32 inheritable ;   2191    __vki_u32 inheritable ;
2192 };   2192 };
2193 typedef struct __vki_user_cap_data_struct *vki_cap_user_data_t;   2193 typedef struct __vki_user_cap_data_struct *vki_cap_user_data_t;
2194 struct vki_ipc_perm {   2194 struct vki_ipc_perm {
2195    __vki_kernel_key_t key ;   2195    __vki_kernel_key_t key ;
2196    __vki_kernel_uid_t uid ;   2196    __vki_kernel_uid_t uid ;
2197    __vki_kernel_gid_t gid ;   2197    __vki_kernel_gid_t gid ;
2198    __vki_kernel_uid_t cuid ;   2198    __vki_kernel_uid_t cuid ;
2199    __vki_kernel_gid_t cgid ;   2199    __vki_kernel_gid_t cgid ;
2200    __vki_kernel_mode_t mode ;   2200    __vki_kernel_mode_t mode ;
2201    unsigned short seq ;   2201    unsigned short seq ;
2202 };   2202 };
2203 struct vki_semid_ds {   2203 struct vki_semid_ds {
2204    struct vki_ipc_perm sem_perm ;   2204    struct vki_ipc_perm sem_perm ;
2205    __vki_kernel_time_t sem_otime ;   2205    __vki_kernel_time_t sem_otime ;
2206    __vki_kernel_time_t sem_ctime ;   2206    __vki_kernel_time_t sem_ctime ;
2207    void *sem_base ;   2207    void *sem_base ;
2208    void *sem_pending ;   2208    void *sem_pending ;
2209    void **sem_pending_last ;   2209    void **sem_pending_last ;
2210    void *undo ;   2210    void *undo ;
2211    unsigned short sem_nsems ;   2211    unsigned short sem_nsems ;
2212 };   2212 };
2213 struct vki_sembuf {   2213 struct vki_sembuf {
2214    unsigned short sem_num ;   2214    unsigned short sem_num ;
2215    short sem_op ;   2215    short sem_op ;
2216    short sem_flg ;   2216    short sem_flg ;
2217 };   2217 };
2218 struct vki_seminfo;   2218 struct vki_seminfo;
2219 union vki_semun {   2219 union vki_semun {
2220    int val ;   2220    int val ;
2221    struct vki_semid_ds *buf ;   2221    struct vki_semid_ds *buf ;
2222    unsigned short *array ;   2222    unsigned short *array ;
2223    struct vki_seminfo *__buf ;   2223    struct vki_seminfo *__buf ;
2224    void *__pad ;   2224    void *__pad ;
2225 };   2225 };
2226 struct vki_seminfo {   2226 struct vki_seminfo {
2227    int semmap ;   2227    int semmap ;
2228    int semmni ;   2228    int semmni ;
2229    int semmns ;   2229    int semmns ;
2230    int semmnu ;   2230    int semmnu ;
2231    int semmsl ;   2231    int semmsl ;
2232    int semopm ;   2232    int semopm ;
2233    int semume ;   2233    int semume ;
2234    int semusz ;   2234    int semusz ;
2235    int semvmx ;   2235    int semvmx ;
2236    int semaem ;   2236    int semaem ;
2237 };   2237 };
2238 struct vki_robust_list {   2238 struct vki_robust_list {
2239    struct vki_robust_list *next ;   2239    struct vki_robust_list *next ;
2240 };   2240 };
2241 struct vki_robust_list_head {   2241 struct vki_robust_list_head {
2242    struct vki_robust_list list ;   2242    struct vki_robust_list list ;
2243    long futex_offset ;   2243    long futex_offset ;
2244    struct vki_robust_list *list_op_pending ;   2244    struct vki_robust_list *list_op_pending ;
2245 };   2245 };
2246 struct vki_dirent {   2246 struct vki_dirent {
2247    long d_ino ;   2247    long d_ino ;
2248    __vki_kernel_off_t d_off ;   2248    __vki_kernel_off_t d_off ;
2249    unsigned short d_reclen ;   2249    unsigned short d_reclen ;
2250    char d_name[256] ;   2250    char d_name[256] ;
2251 };   2251 };
2252 struct __vki_sysctl_args {   2252 struct __vki_sysctl_args {
2253    int *name ;   2253    int *name ;
2254    int nlen ;   2254    int nlen ;
2255    void *oldval ;   2255    void *oldval ;
2256    vki_size_t *oldlenp ;   2256    vki_size_t *oldlenp ;
2257    void *newval ;   2257    void *newval ;
2258    vki_size_t newlen ;   2258    vki_size_t newlen ;
2259    unsigned long __unused[4] ;   2259    unsigned long __unused[4] ;
2260 };   2260 };
2261 typedef unsigned long vki_aio_context_t;   2261 typedef unsigned long vki_aio_context_t;
2262 enum __anonenum_90 {   2262 enum __anonenum_90 {
2263     VKI_IOCB_CMD_PREAD = 0,   2263     VKI_IOCB_CMD_PREAD = 0,
2264     VKI_IOCB_CMD_PWRITE = 1,   2264     VKI_IOCB_CMD_PWRITE = 1,
2265     VKI_IOCB_CMD_FSYNC = 2,   2265     VKI_IOCB_CMD_FSYNC = 2,
2266     VKI_IOCB_CMD_FDSYNC = 3,   2266     VKI_IOCB_CMD_FDSYNC = 3,
2267     VKI_IOCB_CMD_PREADV = 7,   2267     VKI_IOCB_CMD_PREADV = 7,
2268     VKI_IOCB_CMD_PWRITEV = 8   2268     VKI_IOCB_CMD_PWRITEV = 8
2269 } ;   2269 } ;
2270 struct vki_io_event {   2270 struct vki_io_event {
2271    __vki_u64 data ;   2271    __vki_u64 data ;
2272    __vki_u64 obj ;   2272    __vki_u64 obj ;
2273    __vki_s64 result ;   2273    __vki_s64 result ;
2274    __vki_s64 result2 ;   2274    __vki_s64 result2 ;
2275 };   2275 };
2276 struct vki_iocb {   2276 struct vki_iocb {
2277    __vki_u64 aio_data ;   2277    __vki_u64 aio_data ;
2278    __vki_u32 aio_key ;   2278    __vki_u32 aio_key ;
2279    __vki_u32 aio_reserved1 ;   2279    __vki_u32 aio_reserved1 ;
2280    __vki_u16 aio_lio_opcode ;   2280    __vki_u16 aio_lio_opcode ;
2281    __vki_s16 aio_reqprio ;   2281    __vki_s16 aio_reqprio ;
2282    __vki_u32 aio_fildes ;   2282    __vki_u32 aio_fildes ;
2283    __vki_u64 aio_buf ;   2283    __vki_u64 aio_buf ;
2284    __vki_u64 aio_nbytes ;   2284    __vki_u64 aio_nbytes ;
2285    __vki_s64 aio_offset ;   2285    __vki_s64 aio_offset ;
2286    __vki_u64 aio_reserved2 ;   2286    __vki_u64 aio_reserved2 ;
2287    __vki_u64 aio_reserved3 ;   2287    __vki_u64 aio_reserved3 ;
2288 };   2288 };
2289 struct vki_aio_ring {   2289 struct vki_aio_ring {
2290    unsigned int id ;   2290    unsigned int id ;
2291    unsigned int nr ;   2291    unsigned int nr ;
2292    unsigned int head ;   2292    unsigned int head ;
2293    unsigned int tail ;   2293    unsigned int tail ;
2294    unsigned int magic ;   2294    unsigned int magic ;
2295    unsigned int compat_features ;   2295    unsigned int compat_features ;
2296    unsigned int incompat_features ;   2296    unsigned int incompat_features ;
2297    unsigned int header_length ;   2297    unsigned int header_length ;
2298    struct vki_io_event io_events[0] ;   2298    struct vki_io_event io_events[0] ;
2299 };   2299 };
2300 struct vki_msg;   2300 struct vki_msg;
2301 struct vki_msqid_ds {   2301 struct vki_msqid_ds {
2302    struct vki_ipc_perm msg_perm ;   2302    struct vki_ipc_perm msg_perm ;
2303    struct vki_msg *msg_first ;   2303    struct vki_msg *msg_first ;
2304    struct vki_msg *msg_last ;   2304    struct vki_msg *msg_last ;
2305    __vki_kernel_time_t msg_stime ;   2305    __vki_kernel_time_t msg_stime ;
2306    __vki_kernel_time_t msg_rtime ;   2306    __vki_kernel_time_t msg_rtime ;
2307    __vki_kernel_time_t msg_ctime ;   2307    __vki_kernel_time_t msg_ctime ;
2308    unsigned long msg_lcbytes ;   2308    unsigned long msg_lcbytes ;
2309    unsigned long msg_lqbytes ;   2309    unsigned long msg_lqbytes ;
2310    unsigned short msg_cbytes ;   2310    unsigned short msg_cbytes ;
2311    unsigned short msg_qnum ;   2311    unsigned short msg_qnum ;
2312    unsigned short msg_qbytes ;   2312    unsigned short msg_qbytes ;
2313    __vki_kernel_ipc_pid_t msg_lspid ;   2313    __vki_kernel_ipc_pid_t msg_lspid ;
2314    __vki_kernel_ipc_pid_t msg_lrpid ;   2314    __vki_kernel_ipc_pid_t msg_lrpid ;
2315 };   2315 };
2316 struct vki_msgbuf {   2316 struct vki_msgbuf {
2317    long mtype ;   2317    long mtype ;
2318    char mtext[1] ;   2318    char mtext[1] ;
2319 };   2319 };
2320 struct vki_msginfo {   2320 struct vki_msginfo {
2321    int msgpool ;   2321    int msgpool ;
2322    int msgmap ;   2322    int msgmap ;
2323    int msgmax ;   2323    int msgmax ;
2324    int msgmnb ;   2324    int msgmnb ;
2325    int msgmni ;   2325    int msgmni ;
2326    int msgssz ;   2326    int msgssz ;
2327    int msgtql ;   2327    int msgtql ;
2328    unsigned short msgseg ;   2328    unsigned short msgseg ;
2329 };   2329 };
2330 struct vki_shmid_ds {   2330 struct vki_shmid_ds {
2331    struct vki_ipc_perm shm_perm ;   2331    struct vki_ipc_perm shm_perm ;
2332    int shm_segsz ;   2332    int shm_segsz ;
2333    __vki_kernel_time_t shm_atime ;   2333    __vki_kernel_time_t shm_atime ;
2334    __vki_kernel_time_t shm_dtime ;   2334    __vki_kernel_time_t shm_dtime ;
2335    __vki_kernel_time_t shm_ctime ;   2335    __vki_kernel_time_t shm_ctime ;
2336    __vki_kernel_ipc_pid_t shm_cpid ;   2336    __vki_kernel_ipc_pid_t shm_cpid ;
2337    __vki_kernel_ipc_pid_t shm_lpid ;   2337    __vki_kernel_ipc_pid_t shm_lpid ;
2338    unsigned short shm_nattch ;   2338    unsigned short shm_nattch ;
2339    unsigned short shm_unused ;   2339    unsigned short shm_unused ;
2340    void *shm_unused2 ;   2340    void *shm_unused2 ;
2341    void *shm_unused3 ;   2341    void *shm_unused3 ;
2342 };   2342 };
2343 struct vki_shminfo {   2343 struct vki_shminfo {
2344    int shmmax ;   2344    int shmmax ;
2345    int shmmin ;   2345    int shmmin ;
2346    int shmmni ;   2346    int shmmni ;
2347    int shmseg ;   2347    int shmseg ;
2348    int shmall ;   2348    int shmall ;
2349 };   2349 };
2350 struct vki_shm_info {   2350 struct vki_shm_info {
2351    int used_ids ;   2351    int used_ids ;
2352    unsigned long shm_tot ;   2352    unsigned long shm_tot ;
2353    unsigned long shm_rss ;   2353    unsigned long shm_rss ;
2354    unsigned long shm_swp ;   2354    unsigned long shm_swp ;
2355    unsigned long swap_attempts ;   2355    unsigned long swap_attempts ;
2356    unsigned long swap_successes ;   2356    unsigned long swap_successes ;
2357 };   2357 };
2358 struct vki_rtc_time {   2358 struct vki_rtc_time {
2359    int tm_sec ;   2359    int tm_sec ;
2360    int tm_min ;   2360    int tm_min ;
2361    int tm_hour ;   2361    int tm_hour ;
2362    int tm_mday ;   2362    int tm_mday ;
2363    int tm_mon ;   2363    int tm_mon ;
2364    int tm_year ;   2364    int tm_year ;
2365    int tm_wday ;   2365    int tm_wday ;
2366    int tm_yday ;   2366    int tm_yday ;
2367    int tm_isdst ;   2367    int tm_isdst ;
2368 };   2368 };
2369 struct __anonstruct_vki_isdn_net_ioctl_phone_91 {   2369 struct __anonstruct_vki_isdn_net_ioctl_phone_91 {
2370    char name[10] ;   2370    char name[10] ;
2371    char phone[32] ;   2371    char phone[32] ;
2372    int outgoing ;   2372    int outgoing ;
2373 };   2373 };
2374 typedef struct __anonstruct_vki_isdn_net_ioctl_phone_91 vki_isdn_net_ioctl_phone;   2374 typedef struct __anonstruct_vki_isdn_net_ioctl_phone_91 vki_isdn_net_ioctl_phone;
2375 struct vki_ppdev_frob_struct {   2375 struct vki_ppdev_frob_struct {
2376    unsigned char mask ;   2376    unsigned char mask ;
2377    unsigned char val ;   2377    unsigned char val ;
2378 };   2378 };
2379 struct vki_sg_io_hdr {   2379 struct vki_sg_io_hdr {
2380    int interface_id ;   2380    int interface_id ;
2381    int dxfer_direction ;   2381    int dxfer_direction ;
2382    unsigned char cmd_len ;   2382    unsigned char cmd_len ;
2383    unsigned char mx_sb_len ;   2383    unsigned char mx_sb_len ;
2384    unsigned short iovec_count ;   2384    unsigned short iovec_count ;
2385    unsigned int dxfer_len ;   2385    unsigned int dxfer_len ;
2386    void *dxferp ;   2386    void *dxferp ;
2387    unsigned char *cmdp ;   2387    unsigned char *cmdp ;
2388    void *sbp ;   2388    void *sbp ;
2389    unsigned int timeout ;   2389    unsigned int timeout ;
2390    unsigned int flags ;   2390    unsigned int flags ;
2391    int pack_id ;   2391    int pack_id ;
2392    void *usr_ptr ;   2392    void *usr_ptr ;
2393    unsigned char status ;   2393    unsigned char status ;
2394    unsigned char masked_status ;   2394    unsigned char masked_status ;
2395    unsigned char msg_status ;   2395    unsigned char msg_status ;
2396    unsigned char sb_len_wr ;   2396    unsigned char sb_len_wr ;
2397    unsigned short host_status ;   2397    unsigned short host_status ;
2398    unsigned short driver_status ;   2398    unsigned short driver_status ;
2399    int resid ;   2399    int resid ;
2400    unsigned int duration ;   2400    unsigned int duration ;
2401    unsigned int info ;   2401    unsigned int info ;
2402 };   2402 };
2403 typedef struct vki_sg_io_hdr vki_sg_io_hdr_t;   2403 typedef struct vki_sg_io_hdr vki_sg_io_hdr_t;
2404 struct vki_sg_scsi_id {   2404 struct vki_sg_scsi_id {
2405    int host_no ;   2405    int host_no ;
2406    int channel ;   2406    int channel ;
2407    int scsi_id ;   2407    int scsi_id ;
2408    int lun ;   2408    int lun ;
2409    int scsi_type ;   2409    int scsi_type ;
2410    short h_cmd_per_lun ;   2410    short h_cmd_per_lun ;
2411    short d_queue_depth ;   2411    short d_queue_depth ;
2412    int unused[2] ;   2412    int unused[2] ;
2413 };   2413 };
2414 typedef struct vki_sg_scsi_id vki_sg_scsi_id_t;   2414 typedef struct vki_sg_scsi_id vki_sg_scsi_id_t;
2415 struct vki_cdrom_msf0 {   2415 struct vki_cdrom_msf0 {
2416    __vki_u8 minute ;   2416    __vki_u8 minute ;
2417    __vki_u8 second ;   2417    __vki_u8 second ;
2418    __vki_u8 frame ;   2418    __vki_u8 frame ;
2419 };   2419 };
2420 union vki_cdrom_addr {   2420 union vki_cdrom_addr {
2421    struct vki_cdrom_msf0 msf ;   2421    struct vki_cdrom_msf0 msf ;
2422    int lba ;   2422    int lba ;
2423 };   2423 };
2424 struct vki_cdrom_msf {   2424 struct vki_cdrom_msf {
2425    __vki_u8 cdmsf_min0 ;   2425    __vki_u8 cdmsf_min0 ;
2426    __vki_u8 cdmsf_sec0 ;   2426    __vki_u8 cdmsf_sec0 ;
2427    __vki_u8 cdmsf_frame0 ;   2427    __vki_u8 cdmsf_frame0 ;
2428    __vki_u8 cdmsf_min1 ;   2428    __vki_u8 cdmsf_min1 ;
2429    __vki_u8 cdmsf_sec1 ;   2429    __vki_u8 cdmsf_sec1 ;
2430    __vki_u8 cdmsf_frame1 ;   2430    __vki_u8 cdmsf_frame1 ;
2431 };   2431 };
2432 struct vki_cdrom_tochdr {   2432 struct vki_cdrom_tochdr {
2433    __vki_u8 cdth_trk0 ;   2433    __vki_u8 cdth_trk0 ;
2434    __vki_u8 cdth_trk1 ;   2434    __vki_u8 cdth_trk1 ;
2435 };   2435 };
2436 struct vki_cdrom_volctrl {   2436 struct vki_cdrom_volctrl {
2437    __vki_u8 channel0 ;   2437    __vki_u8 channel0 ;
2438    __vki_u8 channel1 ;   2438    __vki_u8 channel1 ;
2439    __vki_u8 channel2 ;   2439    __vki_u8 channel2 ;
2440    __vki_u8 channel3 ;   2440    __vki_u8 channel3 ;
2441 };   2441 };
2442 struct vki_cdrom_subchnl {   2442 struct vki_cdrom_subchnl {
2443    __vki_u8 cdsc_format ;   2443    __vki_u8 cdsc_format ;
2444    __vki_u8 cdsc_audiostatus ;   2444    __vki_u8 cdsc_audiostatus ;
2445    __vki_u8 cdsc_adr : 4 ;   2445    __vki_u8 cdsc_adr : 4 ;
2446    __vki_u8 cdsc_ctrl : 4 ;   2446    __vki_u8 cdsc_ctrl : 4 ;
2447    __vki_u8 cdsc_trk ;   2447    __vki_u8 cdsc_trk ;
2448    __vki_u8 cdsc_ind ;   2448    __vki_u8 cdsc_ind ;
2449    union vki_cdrom_addr cdsc_absaddr ;   2449    union vki_cdrom_addr cdsc_absaddr ;
2450    union vki_cdrom_addr cdsc_reladdr ;   2450    union vki_cdrom_addr cdsc_reladdr ;
2451 };   2451 };
2452 struct vki_cdrom_tocentry {   2452 struct vki_cdrom_tocentry {
2453    __vki_u8 cdte_track ;   2453    __vki_u8 cdte_track ;
2454    __vki_u8 cdte_adr : 4 ;   2454    __vki_u8 cdte_adr : 4 ;
2455    __vki_u8 cdte_ctrl : 4 ;   2455    __vki_u8 cdte_ctrl : 4 ;
2456    __vki_u8 cdte_format ;   2456    __vki_u8 cdte_format ;
2457    union vki_cdrom_addr cdte_addr ;   2457    union vki_cdrom_addr cdte_addr ;
2458    __vki_u8 cdte_datamode ;   2458    __vki_u8 cdte_datamode ;
2459 };   2459 };
2460 struct vki_cdrom_read {   2460 struct vki_cdrom_read {
2461    int cdread_lba ;   2461    int cdread_lba ;
2462    char *cdread_bufaddr ;   2462    char *cdread_bufaddr ;
2463    int cdread_buflen ;   2463    int cdread_buflen ;
2464 };   2464 };
2465 struct vki_cdrom_read_audio {   2465 struct vki_cdrom_read_audio {
2466    union vki_cdrom_addr addr ;   2466    union vki_cdrom_addr addr ;
2467    __vki_u8 addr_format ;   2467    __vki_u8 addr_format ;
2468    int nframes ;   2468    int nframes ;
2469    __vki_u8 *buf ;   2469    __vki_u8 *buf ;
2470 };   2470 };
2471 struct vki_cdrom_multisession {   2471 struct vki_cdrom_multisession {
2472    union vki_cdrom_addr addr ;   2472    union vki_cdrom_addr addr ;
2473    __vki_u8 xa_flag ;   2473    __vki_u8 xa_flag ;
2474    __vki_u8 addr_format ;   2474    __vki_u8 addr_format ;
2475 };   2475 };
2476 struct vki_cdrom_mcn {   2476 struct vki_cdrom_mcn {
2477    __vki_u8 medium_catalog_number[14] ;   2477    __vki_u8 medium_catalog_number[14] ;
2478 };   2478 };
2479 struct vki_cdrom_generic_command {   2479 struct vki_cdrom_generic_command {
2480    unsigned char cmd[12] ;   2480    unsigned char cmd[12] ;
2481    unsigned char *buffer ;   2481    unsigned char *buffer ;
2482    unsigned int buflen ;   2482    unsigned int buflen ;
2483    int stat ;   2483    int stat ;
2484    void *sense ;   2484    void *sense ;
2485    unsigned char data_direction ;   2485    unsigned char data_direction ;
2486    int quiet ;   2486    int quiet ;
2487    int timeout ;   2487    int timeout ;
2488    void *reserved[1] ;   2488    void *reserved[1] ;
2489 };   2489 };
2490 struct vki_audio_buf_info {   2490 struct vki_audio_buf_info {
2491    int fragments ;   2491    int fragments ;
2492    int fragstotal ;   2492    int fragstotal ;
2493    int fragsize ;   2493    int fragsize ;
2494    int bytes ;   2494    int bytes ;
2495 };   2495 };
2496 typedef struct vki_audio_buf_info vki_audio_buf_info;   2496 typedef struct vki_audio_buf_info vki_audio_buf_info;
2497 struct vki_hd_geometry {   2497 struct vki_hd_geometry {
2498    unsigned char heads ;   2498    unsigned char heads ;
2499    unsigned char sectors ;   2499    unsigned char sectors ;
2500    unsigned short cylinders ;   2500    unsigned short cylinders ;
2501    unsigned long start ;   2501    unsigned long start ;
2502 };   2502 };
2503 struct vki_fb_fix_screeninfo {   2503 struct vki_fb_fix_screeninfo {
2504    char id[16] ;   2504    char id[16] ;
2505    unsigned long smem_start ;   2505    unsigned long smem_start ;
2506    __vki_u32 smem_len ;   2506    __vki_u32 smem_len ;
2507    __vki_u32 type ;   2507    __vki_u32 type ;
2508    __vki_u32 type_aux ;   2508    __vki_u32 type_aux ;
2509    __vki_u32 visual ;   2509    __vki_u32 visual ;
2510    __vki_u16 xpanstep ;   2510    __vki_u16 xpanstep ;
2511    __vki_u16 ypanstep ;   2511    __vki_u16 ypanstep ;
2512    __vki_u16 ywrapstep ;   2512    __vki_u16 ywrapstep ;
2513    __vki_u32 line_length ;   2513    __vki_u32 line_length ;
2514    unsigned long mmio_start ;   2514    unsigned long mmio_start ;
2515    __vki_u32 mmio_len ;   2515    __vki_u32 mmio_len ;
2516    __vki_u32 accel ;   2516    __vki_u32 accel ;
2517    __vki_u16 reserved[3] ;   2517    __vki_u16 reserved[3] ;
2518 };   2518 };
2519 struct vki_fb_bitfield {   2519 struct vki_fb_bitfield {
2520    __vki_u32 offset ;   2520    __vki_u32 offset ;
2521    __vki_u32 length ;   2521    __vki_u32 length ;
2522    __vki_u32 msb_right ;   2522    __vki_u32 msb_right ;
2523 };   2523 };
2524 struct vki_fb_var_screeninfo {   2524 struct vki_fb_var_screeninfo {
2525    __vki_u32 xres ;   2525    __vki_u32 xres ;
2526    __vki_u32 yres ;   2526    __vki_u32 yres ;
2527    __vki_u32 xres_virtual ;   2527    __vki_u32 xres_virtual ;
2528    __vki_u32 yres_virtual ;   2528    __vki_u32 yres_virtual ;
2529    __vki_u32 xoffset ;   2529    __vki_u32 xoffset ;
2530    __vki_u32 yoffset ;   2530    __vki_u32 yoffset ;
2531    __vki_u32 bits_per_pixel ;   2531    __vki_u32 bits_per_pixel ;
2532    __vki_u32 grayscale ;   2532    __vki_u32 grayscale ;
2533    struct vki_fb_bitfield red ;   2533    struct vki_fb_bitfield red ;
2534    struct vki_fb_bitfield green ;   2534    struct vki_fb_bitfield green ;
2535    struct vki_fb_bitfield blue ;   2535    struct vki_fb_bitfield blue ;
2536    struct vki_fb_bitfield transp ;   2536    struct vki_fb_bitfield transp ;
2537    __vki_u32 nonstd ;   2537    __vki_u32 nonstd ;
2538    __vki_u32 activate ;   2538    __vki_u32 activate ;
2539    __vki_u32 height ;   2539    __vki_u32 height ;
2540    __vki_u32 width ;   2540    __vki_u32 width ;
2541    __vki_u32 accel_flags ;   2541    __vki_u32 accel_flags ;
2542    __vki_u32 pixclock ;   2542    __vki_u32 pixclock ;
2543    __vki_u32 left_margin ;   2543    __vki_u32 left_margin ;
2544    __vki_u32 right_margin ;   2544    __vki_u32 right_margin ;
2545    __vki_u32 upper_margin ;   2545    __vki_u32 upper_margin ;
2546    __vki_u32 lower_margin ;   2546    __vki_u32 lower_margin ;
2547    __vki_u32 hsync_len ;   2547    __vki_u32 hsync_len ;
2548    __vki_u32 vsync_len ;   2548    __vki_u32 vsync_len ;
2549    __vki_u32 sync ;   2549    __vki_u32 sync ;
2550    __vki_u32 vmode ;   2550    __vki_u32 vmode ;
2551    __vki_u32 rotate ;   2551    __vki_u32 rotate ;
2552    __vki_u32 reserved[5] ;   2552    __vki_u32 reserved[5] ;
2553 };   2553 };
2554 struct vki_consolefontdesc {   2554 struct vki_consolefontdesc {
2555    unsigned short charcount ;   2555    unsigned short charcount ;
2556    unsigned short charheight ;   2556    unsigned short charheight ;
2557    char *chardata ;   2557    char *chardata ;
2558 };   2558 };
2559 struct vki_unipair {   2559 struct vki_unipair {
2560    unsigned short unicode ;   2560    unsigned short unicode ;
2561    unsigned short fontpos ;   2561    unsigned short fontpos ;
2562 };   2562 };
2563 struct vki_unimapdesc {   2563 struct vki_unimapdesc {
2564    unsigned short entry_ct ;   2564    unsigned short entry_ct ;
2565    struct vki_unipair *entries ;   2565    struct vki_unipair *entries ;
2566 };   2566 };
2567 struct vki_unimapinit {   2567 struct vki_unimapinit {
2568    unsigned short advised_hashsize ;   2568    unsigned short advised_hashsize ;
2569    unsigned short advised_hashstep ;   2569    unsigned short advised_hashstep ;
2570    unsigned short advised_hashlevel ;   2570    unsigned short advised_hashlevel ;
2571 };   2571 };
2572 struct vki_kbentry {   2572 struct vki_kbentry {
2573    unsigned char kb_table ;   2573    unsigned char kb_table ;
2574    unsigned char kb_index ;   2574    unsigned char kb_index ;
2575    unsigned short kb_value ;   2575    unsigned short kb_value ;
2576 };   2576 };
2577 struct vki_kbsentry {   2577 struct vki_kbsentry {
2578    unsigned char kb_func ;   2578    unsigned char kb_func ;
2579    unsigned char kb_string[512] ;   2579    unsigned char kb_string[512] ;
2580 };   2580 };
2581 struct vki_kbdiacr {   2581 struct vki_kbdiacr {
2582    unsigned char diacr ;   2582    unsigned char diacr ;
2583    unsigned char base ;   2583    unsigned char base ;
2584    unsigned char result ;   2584    unsigned char result ;
2585 };   2585 };
2586 struct vki_kbdiacrs {   2586 struct vki_kbdiacrs {
2587    unsigned int kb_cnt ;   2587    unsigned int kb_cnt ;
2588    struct vki_kbdiacr kbdiacr[256] ;   2588    struct vki_kbdiacr kbdiacr[256] ;
2589 };   2589 };
2590 struct vki_kbkeycode {   2590 struct vki_kbkeycode {
2591    unsigned int scancode ;   2591    unsigned int scancode ;
2592    unsigned int keycode ;   2592    unsigned int keycode ;
2593 };   2593 };
2594 struct vki_kbd_repeat {   2594 struct vki_kbd_repeat {
2595    int delay ;   2595    int delay ;
2596    int period ;   2596    int period ;
2597 };   2597 };
2598 struct vki_console_font_op {   2598 struct vki_console_font_op {
2599    unsigned int op ;   2599    unsigned int op ;
2600    unsigned int flags ;   2600    unsigned int flags ;
2601    unsigned int width ;   2601    unsigned int width ;
2602    unsigned int height ;   2602    unsigned int height ;
2603    unsigned int charcount ;   2603    unsigned int charcount ;
2604    unsigned char *data ;   2604    unsigned char *data ;
2605 };   2605 };
2606 typedef __vki_kernel_uid32_t vki_qid_t;   2606 typedef __vki_kernel_uid32_t vki_qid_t;
2607 struct __anonstruct_93 {   2607 struct __anonstruct_93 {
2608    int  : 0 ;   2608    int  : 0 ;
2609 };   2609 };
2610 struct __anonstruct_94 {   2610 struct __anonstruct_94 {
2611    int  : 0 ;   2611    int  : 0 ;
2612 };   2612 };
2613 enum __anonenum_92 {   2613 enum __anonenum_92 {
2614     VKI_SNDRV_PCM_IOCTL_HW_FREE = 16658,   2614     VKI_SNDRV_PCM_IOCTL_HW_FREE = 16658,
2615     VKI_SNDRV_PCM_IOCTL_HWSYNC = 16674,   2615     VKI_SNDRV_PCM_IOCTL_HWSYNC = 16674,
2616     VKI_SNDRV_PCM_IOCTL_PREPARE = 16704,   2616     VKI_SNDRV_PCM_IOCTL_PREPARE = 16704,
2617     VKI_SNDRV_PCM_IOCTL_RESET = 16705,   2617     VKI_SNDRV_PCM_IOCTL_RESET = 16705,
2618     VKI_SNDRV_PCM_IOCTL_START = 16706,   2618     VKI_SNDRV_PCM_IOCTL_START = 16706,
2619     VKI_SNDRV_PCM_IOCTL_DROP = 16707,   2619     VKI_SNDRV_PCM_IOCTL_DROP = 16707,
2620     VKI_SNDRV_PCM_IOCTL_DRAIN = 16708,   2620     VKI_SNDRV_PCM_IOCTL_DRAIN = 16708,
2621     VKI_SNDRV_PCM_IOCTL_PAUSE = 1074020677,   2621     VKI_SNDRV_PCM_IOCTL_PAUSE = 1074020677,
2622     VKI_SNDRV_PCM_IOCTL_RESUME = 16711,   2622     VKI_SNDRV_PCM_IOCTL_RESUME = 16711,
2623     VKI_SNDRV_PCM_IOCTL_XRUN = 16712,   2623     VKI_SNDRV_PCM_IOCTL_XRUN = 16712,
2624     VKI_SNDRV_PCM_IOCTL_LINK = 1074020704,   2624     VKI_SNDRV_PCM_IOCTL_LINK = 1074020704,
2625     VKI_SNDRV_PCM_IOCTL_UNLINK = 16737   2625     VKI_SNDRV_PCM_IOCTL_UNLINK = 16737
2626 } ;   2626 } ;
2627 enum __anonenum_95 {   2627 enum __anonenum_95 {
2628     VKI_SNDRV_TIMER_IOCTL_START = 21664,   2628     VKI_SNDRV_TIMER_IOCTL_START = 21664,
2629     VKI_SNDRV_TIMER_IOCTL_STOP = 21665,   2629     VKI_SNDRV_TIMER_IOCTL_STOP = 21665,
2630     VKI_SNDRV_TIMER_IOCTL_CONTINUE = 21666,   2630     VKI_SNDRV_TIMER_IOCTL_CONTINUE = 21666,
2631     VKI_SNDRV_TIMER_IOCTL_PAUSE = 21667   2631     VKI_SNDRV_TIMER_IOCTL_PAUSE = 21667
2632 } ;   2632 } ;
2633 struct vki_serial_icounter_struct {   2633 struct vki_serial_icounter_struct {
2634    int cts ;   2634    int cts ;
2635    int dsr ;   2635    int dsr ;
2636    int rng ;   2636    int rng ;
2637    int dcd ;   2637    int dcd ;
2638    int rx ;   2638    int rx ;
2639    int tx ;   2639    int tx ;
2640    int frame ;   2640    int frame ;
2641    int overrun ;   2641    int overrun ;
2642    int parity ;   2642    int parity ;
2643    int brk ;   2643    int brk ;
2644    int buf_overrun ;   2644    int buf_overrun ;
2645    int reserved[9] ;   2645    int reserved[9] ;
2646 };   2646 };
2647 struct vki_vt_mode {   2647 struct vki_vt_mode {
2648    char mode ;   2648    char mode ;
2649    char waitv ;   2649    char waitv ;
2650    short relsig ;   2650    short relsig ;
2651    short acqsig ;   2651    short acqsig ;
2652    short frsig ;   2652    short frsig ;
2653 };   2653 };
2654 struct vki_vt_stat {   2654 struct vki_vt_stat {
2655    unsigned short v_active ;   2655    unsigned short v_active ;
2656    unsigned short v_signal ;   2656    unsigned short v_signal ;
2657    unsigned short v_state ;   2657    unsigned short v_state ;
2658 };   2658 };
2659 struct vki_vt_sizes {   2659 struct vki_vt_sizes {
2660    unsigned short v_rows ;   2660    unsigned short v_rows ;
2661    unsigned short v_cols ;   2661    unsigned short v_cols ;
2662    unsigned short v_scrollsize ;   2662    unsigned short v_scrollsize ;
2663 };   2663 };
2664 struct vki_vt_consize {   2664 struct vki_vt_consize {
2665    unsigned short v_rows ;   2665    unsigned short v_rows ;
2666    unsigned short v_cols ;   2666    unsigned short v_cols ;
2667    unsigned short v_vlin ;   2667    unsigned short v_vlin ;
2668    unsigned short v_clin ;   2668    unsigned short v_clin ;
2669    unsigned short v_vcol ;   2669    unsigned short v_vcol ;
2670    unsigned short v_ccol ;   2670    unsigned short v_ccol ;
2671 };   2671 };
2672 struct vki_usbdevfs_ctrltransfer {   2672 struct vki_usbdevfs_ctrltransfer {
2673    __vki_u8 bRequestType ;   2673    __vki_u8 bRequestType ;
2674    __vki_u8 bRequest ;   2674    __vki_u8 bRequest ;
2675    __vki_u16 wValue ;   2675    __vki_u16 wValue ;
2676    __vki_u16 wIndex ;   2676    __vki_u16 wIndex ;
2677    __vki_u16 wLength ;   2677    __vki_u16 wLength ;
2678    __vki_u32 timeout ;   2678    __vki_u32 timeout ;
2679    void *data ;   2679    void *data ;
2680 };   2680 };
2681 struct vki_usbdevfs_bulktransfer {   2681 struct vki_usbdevfs_bulktransfer {
2682    unsigned int ep ;   2682    unsigned int ep ;
2683    unsigned int len ;   2683    unsigned int len ;
2684    unsigned int timeout ;   2684    unsigned int timeout ;
2685    void *data ;   2685    void *data ;
2686 };   2686 };
2687 struct vki_usbdevfs_getdriver {   2687 struct vki_usbdevfs_getdriver {
2688    unsigned int interface ;   2688    unsigned int interface ;
2689    char driver[256] ;   2689    char driver[256] ;
2690 };   2690 };
2691 struct vki_usbdevfs_connectinfo {   2691 struct vki_usbdevfs_connectinfo {
2692    unsigned int devnum ;   2692    unsigned int devnum ;
2693    unsigned char slow ;   2693    unsigned char slow ;
2694 };   2694 };
2695 struct vki_usbdevfs_iso_packet_desc {   2695 struct vki_usbdevfs_iso_packet_desc {
2696    unsigned int length ;   2696    unsigned int length ;
2697    unsigned int actual_length ;   2697    unsigned int actual_length ;
2698    unsigned int status ;   2698    unsigned int status ;
2699 };   2699 };
2700 struct vki_usbdevfs_urb {   2700 struct vki_usbdevfs_urb {
2701    unsigned char type ;   2701    unsigned char type ;
2702    unsigned char endpoint ;   2702    unsigned char endpoint ;
2703    int status ;   2703    int status ;
2704    unsigned int flags ;   2704    unsigned int flags ;
2705    void *buffer ;   2705    void *buffer ;
2706    int buffer_length ;   2706    int buffer_length ;
2707    int actual_length ;   2707    int actual_length ;
2708    int start_frame ;   2708    int start_frame ;
2709    int number_of_packets ;   2709    int number_of_packets ;
2710    int error_count ;   2710    int error_count ;
2711    unsigned int signr ;   2711    unsigned int signr ;
2712    void *usercontext ;   2712    void *usercontext ;
2713    struct vki_usbdevfs_iso_packet_desc iso_frame_desc[0] ;   2713    struct vki_usbdevfs_iso_packet_desc iso_frame_desc[0] ;
2714 };   2714 };
2715 struct vki_usbdevfs_ioctl {   2715 struct vki_usbdevfs_ioctl {
2716    int ifno ;   2716    int ifno ;
2717    int ioctl_code ;   2717    int ioctl_code ;
2718    void *data ;   2718    void *data ;
2719 };   2719 };
2720 struct vki_usbdevfs_setuppacket {   2720 struct vki_usbdevfs_setuppacket {
2721    __vki_u8 bRequestType ;   2721    __vki_u8 bRequestType ;
2722    __vki_u8 bRequest ;   2722    __vki_u8 bRequest ;
2723    __vki_u16 wValue ;   2723    __vki_u16 wValue ;
2724    __vki_u16 wIndex ;   2724    __vki_u16 wIndex ;
2725    __vki_u16 wLength ;   2725    __vki_u16 wLength ;
2726 };   2726 };
2727 typedef vki_int32_t vki_key_serial_t;   2727 typedef vki_int32_t vki_key_serial_t;
2728 typedef vki_uint32_t vki_key_perm_t;   2728 typedef vki_uint32_t vki_key_perm_t;
2729 struct vki_iw_param {   2729 struct vki_iw_param {
2730    __vki_s32 value ;   2730    __vki_s32 value ;
2731    __vki_u8 fixed ;   2731    __vki_u8 fixed ;
2732    __vki_u8 disabled ;   2732    __vki_u8 disabled ;
2733    __vki_u16 flags ;   2733    __vki_u16 flags ;
2734 };   2734 };
2735 struct vki_iw_point {   2735 struct vki_iw_point {
2736    void *pointer ;   2736    void *pointer ;
2737    __vki_u16 length ;   2737    __vki_u16 length ;
2738    __vki_u16 flags ;   2738    __vki_u16 flags ;
2739 };   2739 };
2740 struct vki_iw_freq {   2740 struct vki_iw_freq {
2741    __vki_s32 m ;   2741    __vki_s32 m ;
2742    __vki_s16 e ;   2742    __vki_s16 e ;
2743    __vki_u8 i ;   2743    __vki_u8 i ;
2744    __vki_u8 flags ;   2744    __vki_u8 flags ;
2745 };   2745 };
2746 struct vki_iw_quality {   2746 struct vki_iw_quality {
2747    __vki_u8 qual ;   2747    __vki_u8 qual ;
2748    __vki_u8 level ;   2748    __vki_u8 level ;
2749    __vki_u8 noise ;   2749    __vki_u8 noise ;
2750    __vki_u8 updated ;   2750    __vki_u8 updated ;
2751 };   2751 };
2752 union vki_iwreq_data {   2752 union vki_iwreq_data {
2753    char name[16] ;   2753    char name[16] ;
2754    struct vki_iw_point essid ;   2754    struct vki_iw_point essid ;
2755    struct vki_iw_param nwid ;   2755    struct vki_iw_param nwid ;
2756    struct vki_iw_freq freq ;   2756    struct vki_iw_freq freq ;
2757    struct vki_iw_param sens ;   2757    struct vki_iw_param sens ;
2758    struct vki_iw_param bitrate ;   2758    struct vki_iw_param bitrate ;
2759    struct vki_iw_param txpower ;   2759    struct vki_iw_param txpower ;
2760    struct vki_iw_param rts ;   2760    struct vki_iw_param rts ;
2761    struct vki_iw_param frag ;   2761    struct vki_iw_param frag ;
2762    __vki_u32 mode ;   2762    __vki_u32 mode ;
2763    struct vki_iw_param retry ;   2763    struct vki_iw_param retry ;
2764    struct vki_iw_point encoding ;   2764    struct vki_iw_point encoding ;
2765    struct vki_iw_param power ;   2765    struct vki_iw_param power ;
2766    struct vki_iw_quality qual ;   2766    struct vki_iw_quality qual ;
2767    struct vki_sockaddr ap_addr ;   2767    struct vki_sockaddr ap_addr ;
2768    struct vki_sockaddr addr ;   2768    struct vki_sockaddr addr ;
2769    struct vki_iw_param param ;   2769    struct vki_iw_param param ;
2770    struct vki_iw_point data ;   2770    struct vki_iw_point data ;
2771 };   2771 };
2772 union __anonunion_ifr_ifrn_96 {   2772 union __anonunion_ifr_ifrn_96 {
2773    char ifrn_name[16] ;   2773    char ifrn_name[16] ;
2774 };   2774 };
2775 struct vki_iwreq {   2775 struct vki_iwreq {
2776    union __anonunion_ifr_ifrn_96 ifr_ifrn ;   2776    union __anonunion_ifr_ifrn_96 ifr_ifrn ;
2777    union vki_iwreq_data u ;   2777    union vki_iwreq_data u ;
2778 };   2778 };
2779 union __anonunion____missing_field_name_97 {   2779 union __anonunion____missing_field_name_97 {
2780    __vki_u64 sample_period ;   2780    __vki_u64 sample_period ;
2781    __vki_u64 sample_freq ;   2781    __vki_u64 sample_freq ;
2782 };   2782 };
2783 union __anonunion____missing_field_name_98 {   2783 union __anonunion____missing_field_name_98 {
2784    __vki_u32 wakeup_events ;   2784    __vki_u32 wakeup_events ;
2785    __vki_u32 wakeup_watermark ;   2785    __vki_u32 wakeup_watermark ;
2786 };   2786 };
2787 union __anonunion____missing_field_name_99 {   2787 union __anonunion____missing_field_name_99 {
2788    __vki_u64 bp_addr ;   2788    __vki_u64 bp_addr ;
2789    __vki_u64 config1 ;   2789    __vki_u64 config1 ;
2790 };   2790 };
2791 union __anonunion____missing_field_name_100 {   2791 union __anonunion____missing_field_name_100 {
2792    __vki_u64 bp_len ;   2792    __vki_u64 bp_len ;
2793    __vki_u64 config2 ;   2793    __vki_u64 config2 ;
2794 };   2794 };
2795 struct vki_perf_event_attr {   2795 struct vki_perf_event_attr {
2796    __vki_u32 type ;   2796    __vki_u32 type ;
2797    __vki_u32 size ;   2797    __vki_u32 size ;
2798    __vki_u64 config ;   2798    __vki_u64 config ;
2799    union __anonunion____missing_field_name_97 __annonCompField1 ;   2799    union __anonunion____missing_field_name_97 __annonCompField1 ;
2800    __vki_u64 sample_type ;   2800    __vki_u64 sample_type ;
2801    __vki_u64 read_format ;   2801    __vki_u64 read_format ;
2802    __vki_u64 disabled : 1 ;   2802    __vki_u64 disabled : 1 ;
2803    __vki_u64 inherit : 1 ;   2803    __vki_u64 inherit : 1 ;
2804    __vki_u64 pinned : 1 ;   2804    __vki_u64 pinned : 1 ;
2805    __vki_u64 exclusive : 1 ;   2805    __vki_u64 exclusive : 1 ;
2806    __vki_u64 exclude_user : 1 ;   2806    __vki_u64 exclude_user : 1 ;
2807    __vki_u64 exclude_kernel : 1 ;   2807    __vki_u64 exclude_kernel : 1 ;
2808    __vki_u64 exclude_hv : 1 ;   2808    __vki_u64 exclude_hv : 1 ;
2809    __vki_u64 exclude_idle : 1 ;   2809    __vki_u64 exclude_idle : 1 ;
2810    __vki_u64 mmap : 1 ;   2810    __vki_u64 mmap : 1 ;
2811    __vki_u64 comm : 1 ;   2811    __vki_u64 comm : 1 ;
2812    __vki_u64 freq : 1 ;   2812    __vki_u64 freq : 1 ;
2813    __vki_u64 inherit_stat : 1 ;   2813    __vki_u64 inherit_stat : 1 ;
2814    __vki_u64 enable_on_exec : 1 ;   2814    __vki_u64 enable_on_exec : 1 ;
2815    __vki_u64 task : 1 ;   2815    __vki_u64 task : 1 ;
2816    __vki_u64 watermark : 1 ;   2816    __vki_u64 watermark : 1 ;
2817    __vki_u64 precise_ip : 2 ;   2817    __vki_u64 precise_ip : 2 ;
2818    __vki_u64 mmap_data : 1 ;   2818    __vki_u64 mmap_data : 1 ;
2819    __vki_u64 sample_id_all : 1 ;   2819    __vki_u64 sample_id_all : 1 ;
2820    __vki_u64 __reserved_1 : 45 ;   2820    __vki_u64 __reserved_1 : 45 ;
2821    union __anonunion____missing_field_name_98 __annonCompField2 ;   2821    union __anonunion____missing_field_name_98 __annonCompField2 ;
2822    __vki_u32 bp_type ;   2822    __vki_u32 bp_type ;
2823    union __anonunion____missing_field_name_99 __annonCompField3 ;   2823    union __anonunion____missing_field_name_99 __annonCompField3 ;
2824    union __anonunion____missing_field_name_100 __annonCompField4 ;   2824    union __anonunion____missing_field_name_100 __annonCompField4 ;
2825 };   2825 };
2826 struct vki_getcpu_cache {   2826 struct vki_getcpu_cache {
2827    unsigned long blob[128U / sizeof(long )] ;   2827    unsigned long blob[128U / sizeof(long )] ;
2828 };   2828 };
2829 enum __anonenum_VgVgdb_101 {   2829 enum __anonenum_VgVgdb_101 {
2830     Vg_VgdbNo = 0,   2830     Vg_VgdbNo = 0,
2831     Vg_VgdbYes = 1,   2831     Vg_VgdbYes = 1,
2832     Vg_VgdbFull = 2   2832     Vg_VgdbFull = 2
2833 } ;   2833 } ;
2834 typedef enum __anonenum_VgVgdb_101 VgVgdb;   2834 typedef enum __anonenum_VgVgdb_101 VgVgdb;
2835 enum __anonenum_VgSmc_102 {   2835 enum __anonenum_VgSmc_102 {
2836     Vg_SmcNone = 0,   2836     Vg_SmcNone = 0,
2837     Vg_SmcStack = 1,   2837     Vg_SmcStack = 1,
2838     Vg_SmcAll = 2,   2838     Vg_SmcAll = 2,
2839     Vg_SmcAllNonFile = 3   2839     Vg_SmcAllNonFile = 3
2840 } ;   2840 } ;
2841 typedef enum __anonenum_VgSmc_102 VgSmc;   2841 typedef enum __anonenum_VgSmc_102 VgSmc;
2842 struct _XArray;   2842 struct _XArray;
2843 typedef struct _XArray XArray;   2843 typedef struct _XArray XArray;
2844 struct _ExeContext;   2844 struct _ExeContext;
2845 typedef struct _ExeContext ExeContext;   2845 typedef struct _ExeContext ExeContext;
2846 enum __anonenum_VgRes_103 {   2846 enum __anonenum_VgRes_103 {
2847     Vg_LowRes = 0,   2847     Vg_LowRes = 0,
2848     Vg_MedRes = 1,   2848     Vg_MedRes = 1,
2849     Vg_HighRes = 2   2849     Vg_HighRes = 2
2850 } ;   2850 } ;
2851 typedef enum __anonenum_VgRes_103 VgRes;   2851 typedef enum __anonenum_VgRes_103 VgRes;
2852 typedef Int ErrorKind;   2852 typedef Int ErrorKind;
2853 struct _Error;   2853 struct _Error;
2854 typedef struct _Error Error;   2854 typedef struct _Error Error;
2855 typedef Int SuppKind;   2855 typedef Int SuppKind;
2856 struct _Supp;   2856 struct _Supp;
2857 typedef struct _Supp Supp;   2857 typedef struct _Supp Supp;
2858 enum __anonenum_CoreErrorKind_104 {   2858 enum __anonenum_CoreErrorKind_104 {
2859     ThreadErr = -1   2859     ThreadErr = -1
2860 } ;   2860 } ;
2861 typedef enum __anonenum_CoreErrorKind_104 CoreErrorKind;   2861 typedef enum __anonenum_CoreErrorKind_104 CoreErrorKind;
2862 struct vg_stat {   2862 struct vg_stat {
2863    ULong dev ;   2863    ULong dev ;
2864    ULong ino ;   2864    ULong ino ;
2865    ULong nlink ;   2865    ULong nlink ;
2866    UInt mode ;   2866    UInt mode ;
2867    UInt uid ;   2867    UInt uid ;
2868    UInt gid ;   2868    UInt gid ;
2869    ULong rdev ;   2869    ULong rdev ;
2870    Long size ;   2870    Long size ;
2871    ULong blksize ;   2871    ULong blksize ;
2872    ULong blocks ;   2872    ULong blocks ;
2873    ULong atime ;   2873    ULong atime ;
2874    ULong atime_nsec ;   2874    ULong atime_nsec ;
2875    ULong mtime ;   2875    ULong mtime ;
2876    ULong mtime_nsec ;   2876    ULong mtime_nsec ;
2877    ULong ctime ;   2877    ULong ctime ;
2878    ULong ctime_nsec ;   2878    ULong ctime_nsec ;
2879 };   2879 };
2880 enum __anonenum_VgMsgKind_105 {   2880 enum __anonenum_VgMsgKind_105 {
2881     Vg_FailMsg = 0,   2881     Vg_FailMsg = 0,
2882     Vg_UserMsg = 1,   2882     Vg_UserMsg = 1,
2883     Vg_DebugMsg = 2,   2883     Vg_DebugMsg = 2,
2884     Vg_ClientMsg = 3   2884     Vg_ClientMsg = 3
2885 } ;   2885 } ;
2886 typedef enum __anonenum_VgMsgKind_105 VgMsgKind;   2886 typedef enum __anonenum_VgMsgKind_105 VgMsgKind;
2887 struct __anonstruct_OutputSink_106 {   2887 struct __anonstruct_OutputSink_106 {
2888    Int fd ;   2888    Int fd ;
2889    Bool is_socket ;   2889    Bool is_socket ;
2890 };   2890 };
2891 typedef struct __anonstruct_OutputSink_106 OutputSink;   2891 typedef struct __anonstruct_OutputSink_106 OutputSink;
2892 typedef Int ArenaId;   2892 typedef Int ArenaId;
2893 struct vg_mallinfo {   2893 struct vg_mallinfo {
2894    int arena ;   2894    int arena ;
2895    int ordblks ;   2895    int ordblks ;
2896    int smblks ;   2896    int smblks ;
2897    int hblks ;   2897    int hblks ;
2898    int hblkhd ;   2898    int hblkhd ;
2899    int usmblks ;   2899    int usmblks ;
2900    int fsmblks ;   2900    int fsmblks ;
2901    int uordblks ;   2901    int uordblks ;
2902    int fordblks ;   2902    int fordblks ;
2903    int keepcost ;   2903    int keepcost ;
2904 };   2904 };
2905 typedef void (*vg_atfork_t)(ThreadId  );   2905 typedef void (*vg_atfork_t)(ThreadId  );
2906 struct __anonstruct_VgCallbackClosure_107 {   2906 struct __anonstruct_VgCallbackClosure_107 {
2907    Addr64 nraddr ;   2907    Addr64 nraddr ;
2908    Addr64 readdr ;   2908    Addr64 readdr ;
2909    ThreadId tid ;   2909    ThreadId tid ;
2910 };   2910 };
2911 typedef struct __anonstruct_VgCallbackClosure_107 VgCallbackClosure;   2911 typedef struct __anonstruct_VgCallbackClosure_107 VgCallbackClosure;
2912 enum __anonenum_CorePart_108 {   2912 enum __anonenum_CorePart_108 {
2913     Vg_CoreStartup = 1,   2913     Vg_CoreStartup = 1,
2914     Vg_CoreSignal = 2,   2914     Vg_CoreSignal = 2,
2915     Vg_CoreSysCall = 3,   2915     Vg_CoreSysCall = 3,
2916     Vg_CoreSysCallArgInMem = 4,   2916     Vg_CoreSysCallArgInMem = 4,
2917     Vg_CoreTranslate = 5,   2917     Vg_CoreTranslate = 5,
2918     Vg_CoreClientReq = 6   2918     Vg_CoreClientReq = 6
2919 } ;   2919 } ;
2920 typedef enum __anonenum_CorePart_108 CorePart;   2920 typedef enum __anonenum_CorePart_108 CorePart;
2921 struct __anonstruct_VgDetails_109 {   2921 struct __anonstruct_VgDetails_109 {
2922    Char *name ;   2922    Char *name ;
2923    Char *version ;   2923    Char *version ;
2924    Char *description ;   2924    Char *description ;
2925    Char *copyright_author ;   2925    Char *copyright_author ;
2926    Char *bug_reports_to ;   2926    Char *bug_reports_to ;
2927    UInt avg_translation_sizeB ;   2927    UInt avg_translation_sizeB ;
2928 };   2928 };
2929 typedef struct __anonstruct_VgDetails_109 VgDetails;   2929 typedef struct __anonstruct_VgDetails_109 VgDetails;
2930 struct __anonstruct_VgNeeds_110 {   2930 struct __anonstruct_VgNeeds_110 {
2931    Bool libc_freeres ;   2931    Bool libc_freeres ;
2932    Bool core_errors ;   2932    Bool core_errors ;
2933    Bool tool_errors ;   2933    Bool tool_errors ;
2934    Bool superblock_discards ;   2934    Bool superblock_discards ;
2935    Bool command_line_options ;   2935    Bool command_line_options ;
2936    Bool client_requests ;   2936    Bool client_requests ;
2937    Bool syscall_wrapper ;   2937    Bool syscall_wrapper ;
2938    Bool sanity_checks ;   2938    Bool sanity_checks ;
2939    Bool var_info ;   2939    Bool var_info ;
2940    Bool malloc_replacement ;   2940    Bool malloc_replacement ;
2941    Bool xml_output ;   2941    Bool xml_output ;
2942    Bool final_IR_tidy_pass ;   2942    Bool final_IR_tidy_pass ;
2943 };   2943 };
2944 typedef struct __anonstruct_VgNeeds_110 VgNeeds;   2944 typedef struct __anonstruct_VgNeeds_110 VgNeeds;
2945 struct __anonstruct_VgToolInterface_111 {   2945 struct __anonstruct_VgToolInterface_111 {
2946    void (*tool_pre_clo_init)(void) ;   2946    void (*tool_pre_clo_init)(void) ;
2947    void (*tool_post_clo_init)(void) ;   2947    void (*tool_post_clo_init)(void) ;
2948    IRSB *(*tool_instrument)(VgCallbackClosure * , IRSB * , VexGuestLayout * ,   2948    IRSB *(*tool_instrument)(VgCallbackClosure * , IRSB * , VexGuestLayout * ,
2949                             VexGuestExtents * , IRType  , IRType  ) ;   2949                             VexGuestExtents * , IRType  , IRType  ) ;
2950    void (*tool_fini)(Int  ) ;   2950    void (*tool_fini)(Int  ) ;
2951    Bool (*tool_eq_Error)(VgRes  , Error * , Error * ) ;   2951    Bool (*tool_eq_Error)(VgRes  , Error * , Error * ) ;
2952    void (*tool_before_pp_Error)(Error * ) ;   2952    void (*tool_before_pp_Error)(Error * ) ;
2953    void (*tool_pp_Error)(Error * ) ;   2953    void (*tool_pp_Error)(Error * ) ;
2954    Bool tool_show_ThreadIDs_for_errors ;   2954    Bool tool_show_ThreadIDs_for_errors ;
2955    UInt (*tool_update_extra)(Error * ) ;   2955    UInt (*tool_update_extra)(Error * ) ;
2956    Bool (*tool_recognised_suppression)(Char * , Supp * ) ;   2956    Bool (*tool_recognised_suppression)(Char * , Supp * ) ;
2957    Bool (*tool_read_extra_suppression_info)(Int  , Char ** , SizeT * , Supp * ) ;   2957    Bool (*tool_read_extra_suppression_info)(Int  , Char ** , SizeT * , Supp * ) ;
2958    Bool (*tool_error_matches_suppression)(Error * , Supp * ) ;   2958    Bool (*tool_error_matches_suppression)(Error * , Supp * ) ;
2959    Char *(*tool_get_error_name)(Error * ) ;   2959    Char *(*tool_get_error_name)(Error * ) ;
2960    Bool (*tool_get_extra_suppression_info)(Error * , Char * , Int  ) ;   2960    Bool (*tool_get_extra_suppression_info)(Error * , Char * , Int  ) ;
2961    void (*tool_discard_superblock_info)(Addr64  , VexGuestExtents  ) ;   2961    void (*tool_discard_superblock_info)(Addr64  , VexGuestExtents  ) ;
2962    Bool (*tool_process_cmd_line_option)(Char * ) ;   2962    Bool (*tool_process_cmd_line_option)(Char * ) ;
2963    void (*tool_print_usage)(void) ;   2963    void (*tool_print_usage)(void) ;
2964    void (*tool_print_debug_usage)(void) ;   2964    void (*tool_print_debug_usage)(void) ;
2965    Bool (*tool_handle_client_request)(ThreadId  , UWord * , UWord * ) ;   2965    Bool (*tool_handle_client_request)(ThreadId  , UWord * , UWord * ) ;
2966    void (*tool_pre_syscall)(ThreadId  , UInt  , UWord * , UInt  ) ;   2966    void (*tool_pre_syscall)(ThreadId  , UInt  , UWord * , UInt  ) ;
2967    void (*tool_post_syscall)(ThreadId  , UInt  , UWord * , UInt  , SysRes  ) ;   2967    void (*tool_post_syscall)(ThreadId  , UInt  , UWord * , UInt  , SysRes  ) ;
2968    Bool (*tool_cheap_sanity_check)(void) ;   2968    Bool (*tool_cheap_sanity_check)(void) ;
2969    Bool (*tool_expensive_sanity_check)(void) ;   2969    Bool (*tool_expensive_sanity_check)(void) ;
2970    void *(*tool_malloc)(ThreadId  , SizeT  ) ;   2970    void *(*tool_malloc)(ThreadId  , SizeT  ) ;
2971    void *(*tool___builtin_new)(ThreadId  , SizeT  ) ;   2971    void *(*tool___builtin_new)(ThreadId  , SizeT  ) ;
2972    void *(*tool___builtin_vec_new)(ThreadId  , SizeT  ) ;   2972    void *(*tool___builtin_vec_new)(ThreadId  , SizeT  ) ;
2973    void *(*tool_memalign)(ThreadId  , SizeT  , SizeT  ) ;   2973    void *(*tool_memalign)(ThreadId  , SizeT  , SizeT  ) ;
2974    void *(*tool_calloc)(ThreadId  , SizeT  , SizeT  ) ;   2974    void *(*tool_calloc)(ThreadId  , SizeT  , SizeT  ) ;
2975    void (*tool_free)(ThreadId  , void * ) ;   2975    void (*tool_free)(ThreadId  , void * ) ;
2976    void (*tool___builtin_delete)(ThreadId  , void * ) ;   2976    void (*tool___builtin_delete)(ThreadId  , void * ) ;
2977    void (*tool___builtin_vec_delete)(ThreadId  , void * ) ;   2977    void (*tool___builtin_vec_delete)(ThreadId  , void * ) ;
2978    void *(*tool_realloc)(ThreadId  , void * , SizeT  ) ;   2978    void *(*tool_realloc)(ThreadId  , void * , SizeT  ) ;
2979    SizeT (*tool_malloc_usable_size)(ThreadId  , void * ) ;   2979    SizeT (*tool_malloc_usable_size)(ThreadId  , void * ) ;
2980    SizeT tool_client_redzone_szB ;   2980    SizeT tool_client_redzone_szB ;
2981    IRSB *(*tool_final_IR_tidy_pass)(IRSB * ) ;   2981    IRSB *(*tool_final_IR_tidy_pass)(IRSB * ) ;
2982    void (*track_new_mem_startup)(Addr  , SizeT  , Bool  , Bool  , Bool  ,   2982    void (*track_new_mem_startup)(Addr  , SizeT  , Bool  , Bool  , Bool  ,
2983                                  ULong  ) ;   2983                                  ULong  ) ;
2984    void (*track_new_mem_stack_signal)(Addr  , SizeT  , ThreadId  ) ;   2984    void (*track_new_mem_stack_signal)(Addr  , SizeT  , ThreadId  ) ;
2985    void (*track_new_mem_brk)(Addr  , SizeT  , ThreadId  ) ;   2985    void (*track_new_mem_brk)(Addr  , SizeT  , ThreadId  ) ;
2986    void (*track_new_mem_mmap)(Addr  , SizeT  , Bool  , Bool  , Bool  , ULong  ) ;   2986    void (*track_new_mem_mmap)(Addr  , SizeT  , Bool  , Bool  , Bool  , ULong  ) ;
2987    void (*track_copy_mem_remap)(Addr src , Addr dst , SizeT  ) ;   2987    void (*track_copy_mem_remap)(Addr src , Addr dst , SizeT  ) ;
2988    void (*track_change_mem_mprotect)(Addr  , SizeT  , Bool  , Bool  , Bool  ) ;   2988    void (*track_change_mem_mprotect)(Addr  , SizeT  , Bool  , Bool  , Bool  ) ;
2989    void (*track_die_mem_stack_signal)(Addr  , SizeT  ) ;   2989    void (*track_die_mem_stack_signal)(Addr  , SizeT  ) ;
2990    void (*track_die_mem_brk)(Addr  , SizeT  ) ;   2990    void (*track_die_mem_brk)(Addr  , SizeT  ) ;
2991    void (*track_die_mem_munmap)(Addr  , SizeT  ) ;   2991    void (*track_die_mem_munmap)(Addr  , SizeT  ) ;
2992    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_4_w_ECU))(Addr  ,   2992    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_4_w_ECU))(Addr  ,
2993                                                                           UInt  ) ;   2993                                                                           UInt  ) ;
2994    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_8_w_ECU))(Addr  ,   2994    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_8_w_ECU))(Addr  ,
2995                                                                           UInt  ) ;   2995                                                                           UInt  ) ;
2996    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_12_w_ECU))(Addr  ,   2996    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_12_w_ECU))(Addr  ,
2997                                                                            UInt  ) ;   2997                                                                            UInt  ) ;
2998    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_16_w_ECU))(Addr  ,   2998    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_16_w_ECU))(Addr  ,
2999                                                                            UInt  ) ;   2999                                                                            UInt  ) ;
3000    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_32_w_ECU))(Addr  ,   3000    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_32_w_ECU))(Addr  ,
3001                                                                            UInt  ) ;   3001                                                                            UInt  ) ;
3002    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_112_w_ECU))(Addr  ,   3002    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_112_w_ECU))(Addr  ,
3003                                                                             UInt  ) ;   3003                                                                             UInt  ) ;
3004    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_128_w_ECU))(Addr  ,   3004    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_128_w_ECU))(Addr  ,
3005                                                                             UInt  ) ;   3005                                                                             UInt  ) ;
3006    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_144_w_ECU))(Addr  ,   3006    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_144_w_ECU))(Addr  ,
3007                                                                             UInt  ) ;   3007                                                                             UInt  ) ;
3008    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_160_w_ECU))(Addr  ,   3008    void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_160_w_ECU))(Addr  ,
3009                                                                             UInt  ) ;   3009                                                                             UInt  ) ;
3010    void (*track_new_mem_stack_w_ECU)(Addr  , SizeT  , UInt  ) ;   3010    void (*track_new_mem_stack_w_ECU)(Addr  , SizeT  , UInt  ) ;
3011    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_4))(Addr  ) ;   3011    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_4))(Addr  ) ;
3012    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_8))(Addr  ) ;   3012    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_8))(Addr  ) ;
3013    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_12))(Addr  ) ;   3013    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_12))(Addr  ) ;
3014    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_16))(Addr  ) ;   3014    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_16))(Addr  ) ;
3015    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_32))(Addr  ) ;   3015    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_32))(Addr  ) ;
3016    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_112))(Addr  ) ;   3016    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_112))(Addr  ) ;
3017    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_128))(Addr  ) ;   3017    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_128))(Addr  ) ;
3018    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_144))(Addr  ) ;   3018    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_144))(Addr  ) ;
3019    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_160))(Addr  ) ;   3019    void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_160))(Addr  ) ;
3020    void (*track_new_mem_stack)(Addr  , SizeT  ) ;   3020    void (*track_new_mem_stack)(Addr  , SizeT  ) ;
3021    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_4))(Addr  ) ;   3021    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_4))(Addr  ) ;
3022    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_8))(Addr  ) ;   3022    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_8))(Addr  ) ;
3023    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_12))(Addr  ) ;   3023    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_12))(Addr  ) ;
3024    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_16))(Addr  ) ;   3024    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_16))(Addr  ) ;
3025    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_32))(Addr  ) ;   3025    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_32))(Addr  ) ;
3026    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_112))(Addr  ) ;   3026    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_112))(Addr  ) ;
3027    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_128))(Addr  ) ;   3027    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_128))(Addr  ) ;
3028    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_144))(Addr  ) ;   3028    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_144))(Addr  ) ;
3029    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_160))(Addr  ) ;   3029    void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_160))(Addr  ) ;
3030    void (*track_die_mem_stack)(Addr  , SizeT  ) ;   3030    void (*track_die_mem_stack)(Addr  , SizeT  ) ;
3031    void (*track_ban_mem_stack)(Addr  , SizeT  ) ;   3031    void (*track_ban_mem_stack)(Addr  , SizeT  ) ;
3032    void (*track_pre_mem_read)(CorePart  , ThreadId  , Char * , Addr  , SizeT  ) ;   3032    void (*track_pre_mem_read)(CorePart  , ThreadId  , Char * , Addr  , SizeT  ) ;
3033    void (*track_pre_mem_read_asciiz)(CorePart  , ThreadId  , Char * , Addr  ) ;   3033    void (*track_pre_mem_read_asciiz)(CorePart  , ThreadId  , Char * , Addr  ) ;
3034    void (*track_pre_mem_write)(CorePart  , ThreadId  , Char * , Addr  , SizeT  ) ;   3034    void (*track_pre_mem_write)(CorePart  , ThreadId  , Char * , Addr  , SizeT  ) ;
3035    void (*track_post_mem_write)(CorePart  , ThreadId  , Addr  , SizeT  ) ;   3035    void (*track_post_mem_write)(CorePart  , ThreadId  , Addr  , SizeT  ) ;
3036    void (*track_pre_reg_read)(CorePart  , ThreadId  , Char * , PtrdiffT  ,   3036    void (*track_pre_reg_read)(CorePart  , ThreadId  , Char * , PtrdiffT  ,
3037                               SizeT  ) ;   3037                               SizeT  ) ;
3038    void (*track_post_reg_write)(CorePart  , ThreadId  , PtrdiffT  , SizeT  ) ;   3038    void (*track_post_reg_write)(CorePart  , ThreadId  , PtrdiffT  , SizeT  ) ;
3039    void (*track_post_reg_write_clientcall_return)(ThreadId  , PtrdiffT  ,   3039    void (*track_post_reg_write_clientcall_return)(ThreadId  , PtrdiffT  ,
3040                                                   SizeT  , Addr  ) ;   3040                                                   SizeT  , Addr  ) ;
3041    void (*track_start_client_code)(ThreadId  , ULong  ) ;   3041    void (*track_start_client_code)(ThreadId  , ULong  ) ;
3042    void (*track_stop_client_code)(ThreadId  , ULong  ) ;   3042    void (*track_stop_client_code)(ThreadId  , ULong  ) ;
3043    void (*track_pre_thread_ll_create)(ThreadId  , ThreadId  ) ;   3043    void (*track_pre_thread_ll_create)(ThreadId  , ThreadId  ) ;
3044    void (*track_pre_thread_first_insn)(ThreadId  ) ;   3044    void (*track_pre_thread_first_insn)(ThreadId  ) ;
3045    void (*track_pre_thread_ll_exit)(ThreadId  ) ;   3045    void (*track_pre_thread_ll_exit)(ThreadId  ) ;
3046    void (*track_pre_deliver_signal)(ThreadId  , Int sigNo , Bool  ) ;   3046    void (*track_pre_deliver_signal)(ThreadId  , Int sigNo , Bool  ) ;
3047    void (*track_post_deliver_signal)(ThreadId  , Int sigNo ) ;   3047    void (*track_post_deliver_signal)(ThreadId  , Int sigNo ) ;
3048 };   3048 };
3049 typedef struct __anonstruct_VgToolInterface_111 VgToolInterface;   3049 typedef struct __anonstruct_VgToolInterface_111 VgToolInterface;
3050 enum __anonenum_PointKind_112 {   3050 enum __anonenum_PointKind_112 {
3051     software_breakpoint = 0,   3051     software_breakpoint = 0,
3052     hardware_breakpoint = 1,   3052     hardware_breakpoint = 1,
3053     write_watchpoint = 2,   3053     write_watchpoint = 2,
3054     read_watchpoint = 3,   3054     read_watchpoint = 3,
3055     access_watchpoint = 4   3055     access_watchpoint = 4
3056 } ;   3056 } ;
3057 typedef enum __anonenum_PointKind_112 PointKind;   3057 typedef enum __anonenum_PointKind_112 PointKind;
3058 enum __anonenum_kwd_report_error_113 {   3058 enum __anonenum_kwd_report_error_113 {
3059     kwd_report_none = 0,   3059     kwd_report_none = 0,
3060     kwd_report_all = 1,   3060     kwd_report_all = 1,
3061     kwd_report_duplicated_matches = 2   3061     kwd_report_duplicated_matches = 2
3062 } ;   3062 } ;
3063 typedef enum __anonenum_kwd_report_error_113 kwd_report_error;   3063 typedef enum __anonenum_kwd_report_error_113 kwd_report_error;
3064 enum __anonenum_FinishReason_114 {   3064 enum __anonenum_FinishReason_114 {
3065     orderly_finish = 0,   3065     orderly_finish = 0,
3066     reset_after_error = 1,   3066     reset_after_error = 1,
3067     reset_after_fork = 2   3067     reset_after_fork = 2
3068 } ;   3068 } ;
3069 typedef enum __anonenum_FinishReason_114 FinishReason;   3069 typedef enum __anonenum_FinishReason_114 FinishReason;
3070 struct __anonstruct_VgdbShared32_115 {   3070 struct __anonstruct_VgdbShared32_115 {
3071    int vgdb_pid ;   3071    int vgdb_pid ;
3072    int volatile   written_by_vgdb ;   3072    int volatile   written_by_vgdb ;
3073    int volatile   seen_by_valgrind ;   3073    int volatile   seen_by_valgrind ;
3074    Addr32 invoke_gdbserver ;   3074    Addr32 invoke_gdbserver ;
3075    Addr32 threads ;   3075    Addr32 threads ;
3076    int sizeof_ThreadState ;   3076    int sizeof_ThreadState ;
3077    int offset_status ;   3077    int offset_status ;
3078    int offset_lwpid ;   3078    int offset_lwpid ;
3079 };   3079 };
3080 typedef struct __anonstruct_VgdbShared32_115 VgdbShared32;   3080 typedef struct __anonstruct_VgdbShared32_115 VgdbShared32;
3081 struct __anonstruct_VgdbShared64_116 {   3081 struct __anonstruct_VgdbShared64_116 {
3082    int vgdb_pid ;   3082    int vgdb_pid ;
3083    int volatile   written_by_vgdb ;   3083    int volatile   written_by_vgdb ;
3084    int volatile   seen_by_valgrind ;   3084    int volatile   seen_by_valgrind ;
3085    Addr64 invoke_gdbserver ;   3085    Addr64 invoke_gdbserver ;
3086    Addr64 threads ;   3086    Addr64 threads ;
3087    int sizeof_ThreadState ;   3087    int sizeof_ThreadState ;
3088    int offset_status ;   3088    int offset_status ;
3089    int offset_lwpid ;   3089    int offset_lwpid ;
3090 };   3090 };
3091 typedef struct __anonstruct_VgdbShared64_116 VgdbShared64;   3091 typedef struct __anonstruct_VgdbShared64_116 VgdbShared64;
3092 typedef VgdbShared32 VgdbShared;   3092 typedef VgdbShared32 VgdbShared;
3093 typedef int __jmp_buf[6];   3093 typedef int __jmp_buf[6];
3094 typedef int __sig_atomic_t;   3094 typedef int __sig_atomic_t;
3095 struct __anonstruct___sigset_t_117 {   3095 struct __anonstruct___sigset_t_117 {
3096    unsigned long __val[1024U / (8U * sizeof(unsigned long ))] ;   3096    unsigned long __val[1024U / (8U * sizeof(unsigned long ))] ;
3097 };   3097 };
3098 typedef struct __anonstruct___sigset_t_117 __sigset_t;   3098 typedef struct __anonstruct___sigset_t_117 __sigset_t;
3099 struct __jmp_buf_tag {   3099 struct __jmp_buf_tag {
3100    __jmp_buf __jmpbuf ;   3100    __jmp_buf __jmpbuf ;
3101    int __mask_was_saved ;   3101    int __mask_was_saved ;
3102    __sigset_t __saved_mask ;   3102    __sigset_t __saved_mask ;
3103 };   3103 };
3104 typedef struct __jmp_buf_tag jmp_buf[1];   3104 typedef struct __jmp_buf_tag jmp_buf[1];
3105 typedef struct __jmp_buf_tag sigjmp_buf[1];   3105 typedef struct __jmp_buf_tag sigjmp_buf[1];
3106 enum ThreadStatus {   3106 enum ThreadStatus {
3107     VgTs_Empty = 0,   3107     VgTs_Empty = 0,
3108     VgTs_Init = 1,   3108     VgTs_Init = 1,
3109     VgTs_Runnable = 2,   3109     VgTs_Runnable = 2,
3110     VgTs_WaitSys = 3,   3110     VgTs_WaitSys = 3,
3111     VgTs_Yielding = 4,   3111     VgTs_Yielding = 4,
3112     VgTs_Zombie = 5   3112     VgTs_Zombie = 5
3113 } ;   3113 } ;
3114 typedef enum ThreadStatus ThreadStatus;   3114 typedef enum ThreadStatus ThreadStatus;
3115 enum __anonenum_VgSchedReturnCode_118 {   3115 enum __anonenum_VgSchedReturnCode_118 {
3116     VgSrc_None = 0,   3116     VgSrc_None = 0,
3117     VgSrc_ExitThread = 1,   3117     VgSrc_ExitThread = 1,
3118     VgSrc_ExitProcess = 2,   3118     VgSrc_ExitProcess = 2,
3119     VgSrc_FatalSig = 3   3119     VgSrc_FatalSig = 3
3120 } ;   3120 } ;
3121 typedef enum __anonenum_VgSchedReturnCode_118 VgSchedReturnCode;   3121 typedef enum __anonenum_VgSchedReturnCode_118 VgSchedReturnCode;
3122 typedef VexGuestX86State VexGuestArchState;   3122 typedef VexGuestX86State VexGuestArchState;
3123 struct SyscallStatus;   3123 struct SyscallStatus;
3124 struct SyscallStatus;   3124 struct SyscallStatus;
3125 struct SyscallArgs;   3125 struct SyscallArgs;
3126 struct SyscallArgs;   3126 struct SyscallArgs;
3127 struct __anonstruct_ThreadArchState_119 {   3127 struct __anonstruct_ThreadArchState_119 {
3128    VexGuestArchState vex  __attribute__((__aligned__(16))) ;   3128    VexGuestArchState vex  __attribute__((__aligned__(16))) ;
3129    VexGuestArchState vex_shadow1  __attribute__((__aligned__(16))) ;   3129    VexGuestArchState vex_shadow1  __attribute__((__aligned__(16))) ;
3130    VexGuestArchState vex_shadow2  __attribute__((__aligned__(16))) ;   3130    VexGuestArchState vex_shadow2  __attribute__((__aligned__(16))) ;
3131    UChar vex_spill[4096]  __attribute__((__aligned__(16))) ;   3131    UChar vex_spill[4096]  __attribute__((__aligned__(16))) ;
3132 };   3132 };
3133 typedef struct __anonstruct_ThreadArchState_119 ThreadArchState;   3133 typedef struct __anonstruct_ThreadArchState_119 ThreadArchState;
3134 struct __anonstruct_ThreadOSstate_120 {   3134 struct __anonstruct_ThreadOSstate_120 {
3135    Int lwpid ;   3135    Int lwpid ;
3136    Int threadgroup ;   3136    Int threadgroup ;
3137    ThreadId parent ;   3137    ThreadId parent ;
3138    Addr valgrind_stack_base ;   3138    Addr valgrind_stack_base ;
3139    Addr valgrind_stack_init_SP ;   3139    Addr valgrind_stack_init_SP ;
3140    Word exitcode ;   3140    Word exitcode ;
3141    Int fatalsig ;   3141    Int fatalsig ;
3142 };   3142 };
3143 typedef struct __anonstruct_ThreadOSstate_120 ThreadOSstate;   3143 typedef struct __anonstruct_ThreadOSstate_120 ThreadOSstate;
3144 struct SigQueue;   3144 struct SigQueue;
3145 struct __anonstruct_ThreadState_121 {   3145 struct __anonstruct_ThreadState_121 {
3146    ThreadId tid ;   3146    ThreadId tid ;
3147    ThreadStatus status ;   3147    ThreadStatus status ;
3148    VgSchedReturnCode exitreason ;   3148    VgSchedReturnCode exitreason ;
3149    ThreadArchState arch ;   3149    ThreadArchState arch ;
3150    vki_sigset_t sig_mask ;   3150    vki_sigset_t sig_mask ;
3151    vki_sigset_t tmp_sig_mask ;   3151    vki_sigset_t tmp_sig_mask ;
3152    struct SigQueue *sig_queue ;   3152    struct SigQueue *sig_queue ;
3153    SizeT client_stack_szB ;   3153    SizeT client_stack_szB ;
3154    Addr client_stack_highest_word ;   3154    Addr client_stack_highest_word ;
3155    vki_stack_t altstack ;   3155    vki_stack_t altstack ;
3156    ThreadOSstate os_state ;   3156    ThreadOSstate os_state ;
3157    Bool sched_jmpbuf_valid ;   3157    Bool sched_jmpbuf_valid ;
3158    jmp_buf sched_jmpbuf ;   3158    jmp_buf sched_jmpbuf ;
3159 };   3159 };
3160 typedef struct __anonstruct_ThreadState_121 ThreadState;   3160 typedef struct __anonstruct_ThreadState_121 ThreadState;
3161 enum __anonenum_SegKind_122 {   3161 enum __anonenum_SegKind_122 {
3162     SkFree = 0,   3162     SkFree = 0,
3163     SkAnonC = 1,   3163     SkAnonC = 1,
3164     SkAnonV = 2,   3164     SkAnonV = 2,
3165     SkFileC = 3,   3165     SkFileC = 3,
3166     SkFileV = 4,   3166     SkFileV = 4,
3167     SkShmC = 5,   3167     SkShmC = 5,
3168     SkResvn = 6   3168     SkResvn = 6
3169 } ;   3169 } ;
3170 typedef enum __anonenum_SegKind_122 SegKind;   3170 typedef enum __anonenum_SegKind_122 SegKind;
3171 enum __anonenum_ShrinkMode_123 {   3171 enum __anonenum_ShrinkMode_123 {
3172     SmLower = 0,   3172     SmLower = 0,
3173     SmFixed = 1,   3173     SmFixed = 1,
3174     SmUpper = 2   3174     SmUpper = 2
3175 } ;   3175 } ;
3176 typedef enum __anonenum_ShrinkMode_123 ShrinkMode;   3176 typedef enum __anonenum_ShrinkMode_123 ShrinkMode;
3177 struct __anonstruct_NSegment_124 {   3177 struct __anonstruct_NSegment_124 {
3178    SegKind kind ;   3178    SegKind kind ;
3179    Addr start ;   3179    Addr start ;
3180    Addr end ;   3180    Addr end ;
3181    ShrinkMode smode ;   3181    ShrinkMode smode ;
3182    ULong dev ;   3182    ULong dev ;
3183    ULong ino ;   3183    ULong ino ;
3184    Off64T offset ;   3184    Off64T offset ;
3185    UInt mode ;   3185    UInt mode ;
3186    Int fnIdx ;   3186    Int fnIdx ;
3187    Bool hasR ;   3187    Bool hasR ;
3188    Bool hasW ;   3188    Bool hasW ;
3189    Bool hasX ;   3189    Bool hasX ;
3190    Bool hasT ;   3190    Bool hasT ;
3191    Bool isCH ;   3191    Bool isCH ;
3192    Bool mark ;   3192    Bool mark ;
3193 };   3193 };
3194 typedef struct __anonstruct_NSegment_124 NSegment;   3194 typedef struct __anonstruct_NSegment_124 NSegment;
3195 enum __anonenum_rkind_126 {   3195 enum __anonenum_rkind_126 {
3196     MFixed = 0,   3196     MFixed = 0,
3197     MHint = 1,   3197     MHint = 1,
3198     MAny = 2   3198     MAny = 2
3199 } ;   3199 } ;
3200 struct __anonstruct_MapRequest_125 {   3200 struct __anonstruct_MapRequest_125 {
3201    enum __anonenum_rkind_126 rkind ;   3201    enum __anonenum_rkind_126 rkind ;
3202    Addr start ;   3202    Addr start ;
3203    Addr len ;   3203    Addr len ;
3204 };   3204 };
3205 typedef struct __anonstruct_MapRequest_125 MapRequest;   3205 typedef struct __anonstruct_MapRequest_125 MapRequest;
3206 struct __anonstruct_AixCodeSegChange_127 {   3206 struct __anonstruct_AixCodeSegChange_127 {
3207    Addr code_start ;   3207    Addr code_start ;
3208    Word code_len ;   3208    Word code_len ;
3209    Addr data_start ;   3209    Addr data_start ;
3210    Word data_len ;   3210    Word data_len ;
3211    UChar *file_name ;   3211    UChar *file_name ;
3212    UChar *mem_name ;   3212    UChar *mem_name ;
3213    Bool is_mainexe ;   3213    Bool is_mainexe ;
3214    Bool acquire ;   3214    Bool acquire ;
3215 };   3215 };
3216 typedef struct __anonstruct_AixCodeSegChange_127 AixCodeSegChange;   3216 typedef struct __anonstruct_AixCodeSegChange_127 AixCodeSegChange;
3217 struct __anonstruct_VgStack_128 {   3217 struct __anonstruct_VgStack_128 {
3218    HChar bytes[1064960] ;   3218    HChar bytes[1064960] ;
3219 };   3219 };
3220 typedef struct __anonstruct_VgStack_128 VgStack;   3220 typedef struct __anonstruct_VgStack_128 VgStack;
3221 struct __anonstruct_OrigFn_129 {   3221 struct __anonstruct_OrigFn_129 {
3222    unsigned int nraddr ;   3222    unsigned int nraddr ;
3223 };   3223 };
3224 typedef struct __anonstruct_OrigFn_129 OrigFn;   3224 typedef struct __anonstruct_OrigFn_129 OrigFn;
3225 enum __anonenum_Vg_ClientRequest_130 {   3225 enum __anonenum_Vg_ClientRequest_130 {
3226     VG_USERREQ__RUNNING_ON_VALGRIND = 4097,   3226     VG_USERREQ__RUNNING_ON_VALGRIND = 4097,
3227     VG_USERREQ__DISCARD_TRANSLATIONS = 4098,   3227     VG_USERREQ__DISCARD_TRANSLATIONS = 4098,
3228     VG_USERREQ__CLIENT_CALL0 = 4353,   3228     VG_USERREQ__CLIENT_CALL0 = 4353,
3229     VG_USERREQ__CLIENT_CALL1 = 4354,   3229     VG_USERREQ__CLIENT_CALL1 = 4354,
3230     VG_USERREQ__CLIENT_CALL2 = 4355,   3230     VG_USERREQ__CLIENT_CALL2 = 4355,
3231     VG_USERREQ__CLIENT_CALL3 = 4356,   3231     VG_USERREQ__CLIENT_CALL3 = 4356,
3232     VG_USERREQ__COUNT_ERRORS = 4609,   3232     VG_USERREQ__COUNT_ERRORS = 4609,
3233     VG_USERREQ__GDB_MONITOR_COMMAND = 4610,   3233     VG_USERREQ__GDB_MONITOR_COMMAND = 4610,
3234     VG_USERREQ__MALLOCLIKE_BLOCK = 4865,   3234     VG_USERREQ__MALLOCLIKE_BLOCK = 4865,
3235     VG_USERREQ__RESIZEINPLACE_BLOCK = 4875,   3235     VG_USERREQ__RESIZEINPLACE_BLOCK = 4875,
3236     VG_USERREQ__FREELIKE_BLOCK = 4866,   3236     VG_USERREQ__FREELIKE_BLOCK = 4866,
3237     VG_USERREQ__CREATE_MEMPOOL = 4867,   3237     VG_USERREQ__CREATE_MEMPOOL = 4867,
3238     VG_USERREQ__DESTROY_MEMPOOL = 4868,   3238     VG_USERREQ__DESTROY_MEMPOOL = 4868,
3239     VG_USERREQ__MEMPOOL_ALLOC = 4869,   3239     VG_USERREQ__MEMPOOL_ALLOC = 4869,
3240     VG_USERREQ__MEMPOOL_FREE = 4870,   3240     VG_USERREQ__MEMPOOL_FREE = 4870,
3241     VG_USERREQ__MEMPOOL_TRIM = 4871,   3241     VG_USERREQ__MEMPOOL_TRIM = 4871,
3242     VG_USERREQ__MOVE_MEMPOOL = 4872,   3242     VG_USERREQ__MOVE_MEMPOOL = 4872,
3243     VG_USERREQ__MEMPOOL_CHANGE = 4873,   3243     VG_USERREQ__MEMPOOL_CHANGE = 4873,
3244     VG_USERREQ__MEMPOOL_EXISTS = 4874,   3244     VG_USERREQ__MEMPOOL_EXISTS = 4874,
3245     VG_USERREQ__PRINTF = 5121,   3245     VG_USERREQ__PRINTF = 5121,
3246     VG_USERREQ__PRINTF_BACKTRACE = 5122,   3246     VG_USERREQ__PRINTF_BACKTRACE = 5122,
3247     VG_USERREQ__PRINTF_VALIST_BY_REF = 5123,   3247     VG_USERREQ__PRINTF_VALIST_BY_REF = 5123,
3248     VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF = 5124,   3248     VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF = 5124,
3249     VG_USERREQ__STACK_REGISTER = 5377,   3249     VG_USERREQ__STACK_REGISTER = 5377,
3250     VG_USERREQ__STACK_DEREGISTER = 5378,   3250     VG_USERREQ__STACK_DEREGISTER = 5378,
3251     VG_USERREQ__STACK_CHANGE = 5379,   3251     VG_USERREQ__STACK_CHANGE = 5379,
3252     VG_USERREQ__LOAD_PDB_DEBUGINFO = 5633,   3252     VG_USERREQ__LOAD_PDB_DEBUGINFO = 5633,
3253     VG_USERREQ__MAP_IP_TO_SRCLOC = 5889   3253     VG_USERREQ__MAP_IP_TO_SRCLOC = 5889
3254 } ;   3254 } ;
3255 typedef enum __anonenum_Vg_ClientRequest_130 Vg_ClientRequest;   3255 typedef enum __anonenum_Vg_ClientRequest_130 Vg_ClientRequest;
3256 typedef unsigned char gdb_byte;   3256 typedef unsigned char gdb_byte;
3257 typedef Addr CORE_ADDR;   3257 typedef Addr CORE_ADDR;
3258 struct inferior_list_entry;   3258 struct inferior_list_entry;
3259 struct inferior_list {   3259 struct inferior_list {
3260    struct inferior_list_entry *head ;   3260    struct inferior_list_entry *head ;
3261    struct inferior_list_entry *tail ;   3261    struct inferior_list_entry *tail ;
3262 };   3262 };
3263 struct inferior_list_entry {   3263 struct inferior_list_entry {
3264    unsigned long id ;   3264    unsigned long id ;
3265    struct inferior_list_entry *next ;   3265    struct inferior_list_entry *next ;
3266 };   3266 };
3267 struct thread_info;   3267 struct thread_info;
3268 struct thread_info;   3268 struct thread_info;
3269 struct inferior_list_entry;   3269 struct inferior_list_entry;
3270 struct reg;   3270 struct reg;
3271 enum target_signal {   3271 enum target_signal {
3272     TARGET_SIGNAL_0 = 0,   3272     TARGET_SIGNAL_0 = 0,
3273     TARGET_SIGNAL_FIRST = 0,   3273     TARGET_SIGNAL_FIRST = 0,
3274     TARGET_SIGNAL_HUP = 1,   3274     TARGET_SIGNAL_HUP = 1,
3275     TARGET_SIGNAL_INT = 2,   3275     TARGET_SIGNAL_INT = 2,
3276     TARGET_SIGNAL_QUIT = 3,   3276     TARGET_SIGNAL_QUIT = 3,
3277     TARGET_SIGNAL_ILL = 4,   3277     TARGET_SIGNAL_ILL = 4,
3278     TARGET_SIGNAL_TRAP = 5,   3278     TARGET_SIGNAL_TRAP = 5,
3279     TARGET_SIGNAL_ABRT = 6,   3279     TARGET_SIGNAL_ABRT = 6,
3280     TARGET_SIGNAL_EMT = 7,   3280     TARGET_SIGNAL_EMT = 7,
3281     TARGET_SIGNAL_FPE = 8,   3281     TARGET_SIGNAL_FPE = 8,
3282     TARGET_SIGNAL_KILL = 9,   3282     TARGET_SIGNAL_KILL = 9,
3283     TARGET_SIGNAL_BUS = 10,   3283     TARGET_SIGNAL_BUS = 10,
3284     TARGET_SIGNAL_SEGV = 11,   3284     TARGET_SIGNAL_SEGV = 11,
3285     TARGET_SIGNAL_SYS = 12,   3285     TARGET_SIGNAL_SYS = 12,
3286     TARGET_SIGNAL_PIPE = 13,   3286     TARGET_SIGNAL_PIPE = 13,
3287     TARGET_SIGNAL_ALRM = 14,   3287     TARGET_SIGNAL_ALRM = 14,
3288     TARGET_SIGNAL_TERM = 15,   3288     TARGET_SIGNAL_TERM = 15,
3289     TARGET_SIGNAL_URG = 16,   3289     TARGET_SIGNAL_URG = 16,
3290     TARGET_SIGNAL_STOP = 17,   3290     TARGET_SIGNAL_STOP = 17,
3291     TARGET_SIGNAL_TSTP = 18,   3291     TARGET_SIGNAL_TSTP = 18,
3292     TARGET_SIGNAL_CONT = 19,   3292     TARGET_SIGNAL_CONT = 19,
3293     TARGET_SIGNAL_CHLD = 20,   3293     TARGET_SIGNAL_CHLD = 20,
3294     TARGET_SIGNAL_TTIN = 21,   3294     TARGET_SIGNAL_TTIN = 21,
3295     TARGET_SIGNAL_TTOU = 22,   3295     TARGET_SIGNAL_TTOU = 22,
3296     TARGET_SIGNAL_IO = 23,   3296     TARGET_SIGNAL_IO = 23,
3297     TARGET_SIGNAL_XCPU = 24,   3297     TARGET_SIGNAL_XCPU = 24,
3298     TARGET_SIGNAL_XFSZ = 25,   3298     TARGET_SIGNAL_XFSZ = 25,
3299     TARGET_SIGNAL_VTALRM = 26,   3299     TARGET_SIGNAL_VTALRM = 26,
3300     TARGET_SIGNAL_PROF = 27,   3300     TARGET_SIGNAL_PROF = 27,
3301     TARGET_SIGNAL_WINCH = 28,   3301     TARGET_SIGNAL_WINCH = 28,
3302     TARGET_SIGNAL_LOST = 29,   3302     TARGET_SIGNAL_LOST = 29,
3303     TARGET_SIGNAL_USR1 = 30,   3303     TARGET_SIGNAL_USR1 = 30,
3304     TARGET_SIGNAL_USR2 = 31,   3304     TARGET_SIGNAL_USR2 = 31,
3305     TARGET_SIGNAL_PWR = 32,   3305     TARGET_SIGNAL_PWR = 32,
3306     TARGET_SIGNAL_POLL = 33,   3306     TARGET_SIGNAL_POLL = 33,
3307     TARGET_SIGNAL_WIND = 34,   3307     TARGET_SIGNAL_WIND = 34,
3308     TARGET_SIGNAL_PHONE = 35,   3308     TARGET_SIGNAL_PHONE = 35,
3309     TARGET_SIGNAL_WAITING = 36,   3309     TARGET_SIGNAL_WAITING = 36,
3310     TARGET_SIGNAL_LWP = 37,   3310     TARGET_SIGNAL_LWP = 37,
3311     TARGET_SIGNAL_DANGER = 38,   3311     TARGET_SIGNAL_DANGER = 38,
3312     TARGET_SIGNAL_GRANT = 39,   3312     TARGET_SIGNAL_GRANT = 39,
3313     TARGET_SIGNAL_RETRACT = 40,   3313     TARGET_SIGNAL_RETRACT = 40,
3314     TARGET_SIGNAL_MSG = 41,   3314     TARGET_SIGNAL_MSG = 41,
3315     TARGET_SIGNAL_SOUND = 42,   3315     TARGET_SIGNAL_SOUND = 42,
3316     TARGET_SIGNAL_SAK = 43,   3316     TARGET_SIGNAL_SAK = 43,
3317     TARGET_SIGNAL_PRIO = 44,   3317     TARGET_SIGNAL_PRIO = 44,
3318     TARGET_SIGNAL_REALTIME_33 = 45,   3318     TARGET_SIGNAL_REALTIME_33 = 45,
3319     TARGET_SIGNAL_REALTIME_34 = 46,   3319     TARGET_SIGNAL_REALTIME_34 = 46,
3320     TARGET_SIGNAL_REALTIME_35 = 47,   3320     TARGET_SIGNAL_REALTIME_35 = 47,
3321     TARGET_SIGNAL_REALTIME_36 = 48,   3321     TARGET_SIGNAL_REALTIME_36 = 48,
3322     TARGET_SIGNAL_REALTIME_37 = 49,   3322     TARGET_SIGNAL_REALTIME_37 = 49,
3323     TARGET_SIGNAL_REALTIME_38 = 50,   3323     TARGET_SIGNAL_REALTIME_38 = 50,
3324     TARGET_SIGNAL_REALTIME_39 = 51,   3324     TARGET_SIGNAL_REALTIME_39 = 51,
3325     TARGET_SIGNAL_REALTIME_40 = 52,   3325     TARGET_SIGNAL_REALTIME_40 = 52,
3326     TARGET_SIGNAL_REALTIME_41 = 53,   3326     TARGET_SIGNAL_REALTIME_41 = 53,
3327     TARGET_SIGNAL_REALTIME_42 = 54,   3327     TARGET_SIGNAL_REALTIME_42 = 54,
3328     TARGET_SIGNAL_REALTIME_43 = 55,   3328     TARGET_SIGNAL_REALTIME_43 = 55,
3329     TARGET_SIGNAL_REALTIME_44 = 56,   3329     TARGET_SIGNAL_REALTIME_44 = 56,
3330     TARGET_SIGNAL_REALTIME_45 = 57,   3330     TARGET_SIGNAL_REALTIME_45 = 57,
3331     TARGET_SIGNAL_REALTIME_46 = 58,   3331     TARGET_SIGNAL_REALTIME_46 = 58,
3332     TARGET_SIGNAL_REALTIME_47 = 59,   3332     TARGET_SIGNAL_REALTIME_47 = 59,
3333     TARGET_SIGNAL_REALTIME_48 = 60,   3333     TARGET_SIGNAL_REALTIME_48 = 60,
3334     TARGET_SIGNAL_REALTIME_49 = 61,   3334     TARGET_SIGNAL_REALTIME_49 = 61,
3335     TARGET_SIGNAL_REALTIME_50 = 62,   3335     TARGET_SIGNAL_REALTIME_50 = 62,
3336     TARGET_SIGNAL_REALTIME_51 = 63,   3336     TARGET_SIGNAL_REALTIME_51 = 63,
3337     TARGET_SIGNAL_REALTIME_52 = 64,   3337     TARGET_SIGNAL_REALTIME_52 = 64,
3338     TARGET_SIGNAL_REALTIME_53 = 65,   3338     TARGET_SIGNAL_REALTIME_53 = 65,
3339     TARGET_SIGNAL_REALTIME_54 = 66,   3339     TARGET_SIGNAL_REALTIME_54 = 66,
3340     TARGET_SIGNAL_REALTIME_55 = 67,   3340     TARGET_SIGNAL_REALTIME_55 = 67,
3341     TARGET_SIGNAL_REALTIME_56 = 68,   3341     TARGET_SIGNAL_REALTIME_56 = 68,
3342     TARGET_SIGNAL_REALTIME_57 = 69,   3342     TARGET_SIGNAL_REALTIME_57 = 69,
3343     TARGET_SIGNAL_REALTIME_58 = 70,   3343     TARGET_SIGNAL_REALTIME_58 = 70,
3344     TARGET_SIGNAL_REALTIME_59 = 71,   3344     TARGET_SIGNAL_REALTIME_59 = 71,
3345     TARGET_SIGNAL_REALTIME_60 = 72,   3345     TARGET_SIGNAL_REALTIME_60 = 72,
3346     TARGET_SIGNAL_REALTIME_61 = 73,   3346     TARGET_SIGNAL_REALTIME_61 = 73,
3347     TARGET_SIGNAL_REALTIME_62 = 74,   3347     TARGET_SIGNAL_REALTIME_62 = 74,
3348     TARGET_SIGNAL_REALTIME_63 = 75,   3348     TARGET_SIGNAL_REALTIME_63 = 75,
3349     TARGET_SIGNAL_CANCEL = 76,   3349     TARGET_SIGNAL_CANCEL = 76,
3350     TARGET_SIGNAL_REALTIME_32 = 77,   3350     TARGET_SIGNAL_REALTIME_32 = 77,
3351     TARGET_SIGNAL_REALTIME_64 = 78,   3351     TARGET_SIGNAL_REALTIME_64 = 78,
3352     TARGET_SIGNAL_REALTIME_65 = 79,   3352     TARGET_SIGNAL_REALTIME_65 = 79,
3353     TARGET_SIGNAL_REALTIME_66 = 80,   3353     TARGET_SIGNAL_REALTIME_66 = 80,
3354     TARGET_SIGNAL_REALTIME_67 = 81,   3354     TARGET_SIGNAL_REALTIME_67 = 81,
3355     TARGET_SIGNAL_REALTIME_68 = 82,   3355     TARGET_SIGNAL_REALTIME_68 = 82,
3356     TARGET_SIGNAL_REALTIME_69 = 83,   3356     TARGET_SIGNAL_REALTIME_69 = 83,
3357     TARGET_SIGNAL_REALTIME_70 = 84,   3357     TARGET_SIGNAL_REALTIME_70 = 84,
3358     TARGET_SIGNAL_REALTIME_71 = 85,   3358     TARGET_SIGNAL_REALTIME_71 = 85,
3359     TARGET_SIGNAL_REALTIME_72 = 86,   3359     TARGET_SIGNAL_REALTIME_72 = 86,
3360     TARGET_SIGNAL_REALTIME_73 = 87,   3360     TARGET_SIGNAL_REALTIME_73 = 87,
3361     TARGET_SIGNAL_REALTIME_74 = 88,   3361     TARGET_SIGNAL_REALTIME_74 = 88,
3362     TARGET_SIGNAL_REALTIME_75 = 89,   3362     TARGET_SIGNAL_REALTIME_75 = 89,
3363     TARGET_SIGNAL_REALTIME_76 = 90,   3363     TARGET_SIGNAL_REALTIME_76 = 90,
3364     TARGET_SIGNAL_REALTIME_77 = 91,   3364     TARGET_SIGNAL_REALTIME_77 = 91,
3365     TARGET_SIGNAL_REALTIME_78 = 92,   3365     TARGET_SIGNAL_REALTIME_78 = 92,
3366     TARGET_SIGNAL_REALTIME_79 = 93,   3366     TARGET_SIGNAL_REALTIME_79 = 93,
3367     TARGET_SIGNAL_REALTIME_80 = 94,   3367     TARGET_SIGNAL_REALTIME_80 = 94,
3368     TARGET_SIGNAL_REALTIME_81 = 95,   3368     TARGET_SIGNAL_REALTIME_81 = 95,
3369     TARGET_SIGNAL_REALTIME_82 = 96,   3369     TARGET_SIGNAL_REALTIME_82 = 96,
3370     TARGET_SIGNAL_REALTIME_83 = 97,   3370     TARGET_SIGNAL_REALTIME_83 = 97,
3371     TARGET_SIGNAL_REALTIME_84 = 98,   3371     TARGET_SIGNAL_REALTIME_84 = 98,
3372     TARGET_SIGNAL_REALTIME_85 = 99,   3372     TARGET_SIGNAL_REALTIME_85 = 99,
3373     TARGET_SIGNAL_REALTIME_86 = 100,   3373     TARGET_SIGNAL_REALTIME_86 = 100,
3374     TARGET_SIGNAL_REALTIME_87 = 101,   3374     TARGET_SIGNAL_REALTIME_87 = 101,
3375     TARGET_SIGNAL_REALTIME_88 = 102,   3375     TARGET_SIGNAL_REALTIME_88 = 102,
3376     TARGET_SIGNAL_REALTIME_89 = 103,   3376     TARGET_SIGNAL_REALTIME_89 = 103,
3377     TARGET_SIGNAL_REALTIME_90 = 104,   3377     TARGET_SIGNAL_REALTIME_90 = 104,
3378     TARGET_SIGNAL_REALTIME_91 = 105,   3378     TARGET_SIGNAL_REALTIME_91 = 105,
3379     TARGET_SIGNAL_REALTIME_92 = 106,   3379     TARGET_SIGNAL_REALTIME_92 = 106,
3380     TARGET_SIGNAL_REALTIME_93 = 107,   3380     TARGET_SIGNAL_REALTIME_93 = 107,
3381     TARGET_SIGNAL_REALTIME_94 = 108,   3381     TARGET_SIGNAL_REALTIME_94 = 108,
3382     TARGET_SIGNAL_REALTIME_95 = 109,   3382     TARGET_SIGNAL_REALTIME_95 = 109,
3383     TARGET_SIGNAL_REALTIME_96 = 110,   3383     TARGET_SIGNAL_REALTIME_96 = 110,
3384     TARGET_SIGNAL_REALTIME_97 = 111,   3384     TARGET_SIGNAL_REALTIME_97 = 111,
3385     TARGET_SIGNAL_REALTIME_98 = 112,   3385     TARGET_SIGNAL_REALTIME_98 = 112,
3386     TARGET_SIGNAL_REALTIME_99 = 113,   3386     TARGET_SIGNAL_REALTIME_99 = 113,
3387     TARGET_SIGNAL_REALTIME_100 = 114,   3387     TARGET_SIGNAL_REALTIME_100 = 114,
3388     TARGET_SIGNAL_REALTIME_101 = 115,   3388     TARGET_SIGNAL_REALTIME_101 = 115,
3389     TARGET_SIGNAL_REALTIME_102 = 116,   3389     TARGET_SIGNAL_REALTIME_102 = 116,
3390     TARGET_SIGNAL_REALTIME_103 = 117,   3390     TARGET_SIGNAL_REALTIME_103 = 117,
3391     TARGET_SIGNAL_REALTIME_104 = 118,   3391     TARGET_SIGNAL_REALTIME_104 = 118,
3392     TARGET_SIGNAL_REALTIME_105 = 119,   3392     TARGET_SIGNAL_REALTIME_105 = 119,
3393     TARGET_SIGNAL_REALTIME_106 = 120,   3393     TARGET_SIGNAL_REALTIME_106 = 120,
3394     TARGET_SIGNAL_REALTIME_107 = 121,   3394     TARGET_SIGNAL_REALTIME_107 = 121,
3395     TARGET_SIGNAL_REALTIME_108 = 122,   3395     TARGET_SIGNAL_REALTIME_108 = 122,
3396     TARGET_SIGNAL_REALTIME_109 = 123,   3396     TARGET_SIGNAL_REALTIME_109 = 123,
3397     TARGET_SIGNAL_REALTIME_110 = 124,   3397     TARGET_SIGNAL_REALTIME_110 = 124,
3398     TARGET_SIGNAL_REALTIME_111 = 125,   3398     TARGET_SIGNAL_REALTIME_111 = 125,
3399     TARGET_SIGNAL_REALTIME_112 = 126,   3399     TARGET_SIGNAL_REALTIME_112 = 126,
3400     TARGET_SIGNAL_REALTIME_113 = 127,   3400     TARGET_SIGNAL_REALTIME_113 = 127,
3401     TARGET_SIGNAL_REALTIME_114 = 128,   3401     TARGET_SIGNAL_REALTIME_114 = 128,
3402     TARGET_SIGNAL_REALTIME_115 = 129,   3402     TARGET_SIGNAL_REALTIME_115 = 129,
3403     TARGET_SIGNAL_REALTIME_116 = 130,   3403     TARGET_SIGNAL_REALTIME_116 = 130,
3404     TARGET_SIGNAL_REALTIME_117 = 131,   3404     TARGET_SIGNAL_REALTIME_117 = 131,
3405     TARGET_SIGNAL_REALTIME_118 = 132,   3405     TARGET_SIGNAL_REALTIME_118 = 132,
3406     TARGET_SIGNAL_REALTIME_119 = 133,   3406     TARGET_SIGNAL_REALTIME_119 = 133,
3407     TARGET_SIGNAL_REALTIME_120 = 134,   3407     TARGET_SIGNAL_REALTIME_120 = 134,
3408     TARGET_SIGNAL_REALTIME_121 = 135,   3408     TARGET_SIGNAL_REALTIME_121 = 135,
3409     TARGET_SIGNAL_REALTIME_122 = 136,   3409     TARGET_SIGNAL_REALTIME_122 = 136,
3410     TARGET_SIGNAL_REALTIME_123 = 137,   3410     TARGET_SIGNAL_REALTIME_123 = 137,
3411     TARGET_SIGNAL_REALTIME_124 = 138,   3411     TARGET_SIGNAL_REALTIME_124 = 138,
3412     TARGET_SIGNAL_REALTIME_125 = 139,   3412     TARGET_SIGNAL_REALTIME_125 = 139,
3413     TARGET_SIGNAL_REALTIME_126 = 140,   3413     TARGET_SIGNAL_REALTIME_126 = 140,
3414     TARGET_SIGNAL_REALTIME_127 = 141,   3414     TARGET_SIGNAL_REALTIME_127 = 141,
3415     TARGET_SIGNAL_INFO = 142,   3415     TARGET_SIGNAL_INFO = 142,
3416     TARGET_SIGNAL_UNKNOWN = 143,   3416     TARGET_SIGNAL_UNKNOWN = 143,
3417     TARGET_SIGNAL_DEFAULT = 144,   3417     TARGET_SIGNAL_DEFAULT = 144,
3418     TARGET_EXC_BAD_ACCESS = 145,   3418     TARGET_EXC_BAD_ACCESS = 145,
3419     TARGET_EXC_BAD_INSTRUCTION = 146,   3419     TARGET_EXC_BAD_INSTRUCTION = 146,
3420     TARGET_EXC_ARITHMETIC = 147,   3420     TARGET_EXC_ARITHMETIC = 147,
3421     TARGET_EXC_EMULATION = 148,   3421     TARGET_EXC_EMULATION = 148,
3422     TARGET_EXC_SOFTWARE = 149,   3422     TARGET_EXC_SOFTWARE = 149,
3423     TARGET_EXC_BREAKPOINT = 150,   3423     TARGET_EXC_BREAKPOINT = 150,
3424     TARGET_SIGNAL_LAST = 151   3424     TARGET_SIGNAL_LAST = 151
3425 } ;   3425 } ;
3426 struct thread_resume {   3426 struct thread_resume {
3427    unsigned long thread ;   3427    unsigned long thread ;
3428    int leave_stopped ;   3428    int leave_stopped ;
3429    int step ;   3429    int step ;
3430    int sig ;   3430    int sig ;
3431 };   3431 };
3432 struct target_ops {   3432 struct target_ops {
3433    int (*thread_alive)(unsigned long pid ) ;   3433    int (*thread_alive)(unsigned long pid ) ;
3434    void (*resume)(struct thread_resume *resume_info ) ;   3434    void (*resume)(struct thread_resume *resume_info ) ;
3435    unsigned char (*wait)(char *status ) ;   3435    unsigned char (*wait)(char *status ) ;
3436    void (*fetch_registers)(int regno ) ;   3436    void (*fetch_registers)(int regno ) ;
3437    void (*store_registers)(int regno ) ;   3437    void (*store_registers)(int regno ) ;
3438    int (*read_memory)(CORE_ADDR memaddr , unsigned char *myaddr , int len ) ;   3438    int (*read_memory)(CORE_ADDR memaddr , unsigned char *myaddr , int len ) ;
3439    int (*write_memory)(CORE_ADDR memaddr , unsigned char const   *myaddr ,   3439    int (*write_memory)(CORE_ADDR memaddr , unsigned char const   *myaddr ,
3440                        int len ) ;   3440                        int len ) ;
3441    void (*send_signal)(int  ) ;   3441    void (*send_signal)(int  ) ;
3442    char *(*target_xml)(void) ;   3442    char *(*target_xml)(void) ;
3443    char *(*shadow_target_xml)(void) ;   3443    char *(*shadow_target_xml)(void) ;
3444    int (*insert_watchpoint)(char type , CORE_ADDR addr , int len ) ;   3444    int (*insert_watchpoint)(char type , CORE_ADDR addr , int len ) ;
3445    int (*remove_watchpoint)(char type , CORE_ADDR addr , int len ) ;   3445    int (*remove_watchpoint)(char type , CORE_ADDR addr , int len ) ;
3446    int (*stopped_by_watchpoint)(void) ;   3446    int (*stopped_by_watchpoint)(void) ;
3447    CORE_ADDR (*stopped_data_address)(void) ;   3447    CORE_ADDR (*stopped_data_address)(void) ;
3448 };   3448 };
3449 enum __anonenum_transfer_direction_131 {   3449 enum __anonenum_transfer_direction_131 {
3450     valgrind_to_gdbserver = 0,   3450     valgrind_to_gdbserver = 0,
3451     gdbserver_to_valgrind = 1   3451     gdbserver_to_valgrind = 1
3452 } ;   3452 } ;
3453 typedef enum __anonenum_transfer_direction_131 transfer_direction;   3453 typedef enum __anonenum_transfer_direction_131 transfer_direction;
3454 __inline static Bool toBool(Int x )   3454 __inline static Bool toBool(Int x )
3455 {   3455 {
3456   Int r ;   3456   Int r ;
3457   int tmp ;   3457   int tmp ;
3458     3458  
3459   {   3459   {
3460   if (x == 0) {   3460   if (x == 0) {
3461     tmp = (int )((Bool )0);   3461     tmp = (int )((Bool )0);
3462   } else {   3462   } else {
3463     tmp = (int )((Bool )1);   3463     tmp = (int )((Bool )1);
3464   }   3464   }
3465   r = tmp;   3465   r = tmp;
3466   return ((Bool )r);   3466   return ((Bool )r);
3467 }   3467 }
3468 }   3468 }
3469 __inline static UChar toUChar(Int x )   3469 __inline static UChar toUChar(Int x )
3470 {   3470 {
3471     3471  
3472     3472  
3473   {   3473   {
3474   x &= 255;   3474   x &= 255;
3475   return ((UChar )x);   3475   return ((UChar )x);
3476 }   3476 }
3477 }   3477 }
3478 __inline static HChar toHChar(Int x )   3478 __inline static HChar toHChar(Int x )
3479 {   3479 {
3480     3480  
3481     3481  
3482   {   3482   {
3483   x &= 255;   3483   x &= 255;
3484   return ((HChar )x);   3484   return ((HChar )x);
3485 }   3485 }
3486 }   3486 }
3487 __inline static UShort toUShort(Int x )   3487 __inline static UShort toUShort(Int x )
3488 {   3488 {
3489     3489  
3490     3490  
3491   {   3491   {
3492   x &= 65535;   3492   x &= 65535;
3493   return ((UShort )x);   3493   return ((UShort )x);
3494 }   3494 }
3495 }   3495 }
3496 __inline static Short toShort(Int x )   3496 __inline static Short toShort(Int x )
3497 {   3497 {
3498     3498  
3499     3499  
3500   {   3500   {
3501   x &= 65535;   3501   x &= 65535;
3502   return ((Short )x);   3502   return ((Short )x);
3503 }   3503 }
3504 }   3504 }
3505 __inline static UInt toUInt(Long x )   3505 __inline static UInt toUInt(Long x )
3506 {   3506 {
3507     3507  
3508     3508  
3509   {   3509   {
3510   x &= 4294967295LL;   3510   x &= 4294967295LL;
3511   return ((UInt )x);   3511   return ((UInt )x);
3512 }   3512 }
3513 }   3513 }
3514 __inline static ULong Ptr_to_ULong(void *p )   3514 __inline static ULong Ptr_to_ULong(void *p )
3515 {   3515 {
3516   UInt w ;   3516   UInt w ;
3517     3517  
3518   {   3518   {
3519   w = (UInt )p;   3519   w = (UInt )p;
3520   return ((ULong )w);   3520   return ((ULong )w);
3521 }   3521 }
3522 }   3522 }
3523 __inline static void *ULong_to_Ptr(ULong n )   3523 __inline static void *ULong_to_Ptr(ULong n )
3524 {   3524 {
3525   UInt w ;   3525   UInt w ;
3526     3526  
3527   {   3527   {
3528   w = (UInt )n;   3528   w = (UInt )n;
3529   return ((void *)w);   3529   return ((void *)w);
3530 }   3530 }
3531 }   3531 }
3532 __inline static Bool sr_isError(SysRes sr )   3532 __inline static Bool sr_isError(SysRes sr )
3533 {   3533 {
3534     3534  
3535     3535  
3536   {   3536   {
3537   return (sr._isError);   3537   return (sr._isError);
3538 }   3538 }
3539 }   3539 }
3540 __inline static UWord sr_Res(SysRes sr )   3540 __inline static UWord sr_Res(SysRes sr )
3541 {   3541 {
3542   UWord tmp ;   3542   UWord tmp ;
3543     3543  
3544   {   3544   {
3545   if (sr._isError) {   3545   if (sr._isError) {
3546     tmp = (UWord )0;   3546     tmp = (UWord )0;
3547   } else {   3547   } else {
3548     tmp = sr._val;   3548     tmp = sr._val;
3549   }   3549   }
3550   return (tmp);   3550   return (tmp);
3551 }   3551 }
3552 }   3552 }
3553 __inline static UWord sr_ResHI(SysRes sr )   3553 __inline static UWord sr_ResHI(SysRes sr )
3554 {   3554 {
3555     3555  
3556     3556  
3557   {   3557   {
3558   return ((UWord )0);   3558   return ((UWord )0);
3559 }   3559 }
3560 }   3560 }
3561 __inline static UWord sr_Err(SysRes sr )   3561 __inline static UWord sr_Err(SysRes sr )
3562 {   3562 {
3563   UWord tmp ;   3563   UWord tmp ;
3564     3564  
3565   {   3565   {
3566   if (sr._isError) {   3566   if (sr._isError) {
3567     tmp = sr._val;   3567     tmp = sr._val;
3568   } else {   3568   } else {
3569     tmp = (UWord )0;   3569     tmp = (UWord )0;
3570   }   3570   }
3571   return (tmp);   3571   return (tmp);
3572 }   3572 }
3573 }   3573 }
3574 __inline static Bool sr_EQ(SysRes sr1 , SysRes sr2 )   3574 __inline static Bool sr_EQ(SysRes sr1 , SysRes sr2 )
3575 {   3575 {
3576   int tmp ;   3576   int tmp ;
3577     3577  
3578   {   3578   {
3579   if (sr1._val == sr2._val) {   3579   if (sr1._val == sr2._val) {
3580     if (sr1._isError) {   3580     if (sr1._isError) {
3581       if (sr2._isError) {   3581       if (sr2._isError) {
3582         tmp = 1;   3582         tmp = 1;
3583       } else {   3583       } else {
3584         goto _L;   3584         goto _L;
3585       }   3585       }
3586     } else   3586     } else
3587     _L: /* CIL Label */   3587     _L: /* CIL Label */
3588     if (! sr1._isError) {   3588     if (! sr1._isError) {
3589       if (! sr2._isError) {   3589       if (! sr2._isError) {
3590         tmp = 1;   3590         tmp = 1;
3591       } else {   3591       } else {
3592         tmp = 0;   3592         tmp = 0;
3593       }   3593       }
3594     } else {   3594     } else {
3595       tmp = 0;   3595       tmp = 0;
3596     }   3596     }
3597   } else {   3597   } else {
3598     tmp = 0;   3598     tmp = 0;
3599   }   3599   }
3600   return ((Bool )tmp);   3600   return ((Bool )tmp);
3601 }   3601 }
3602 }   3602 }
3603 extern void ppIRType(IRType  ) ;   3603 extern void ppIRType(IRType  ) ;
3604 extern Int sizeofIRType(IRType  ) ;   3604 extern Int sizeofIRType(IRType  ) ;
3605 extern IRConst *IRConst_U1(Bool  ) ;   3605 extern IRConst *IRConst_U1(Bool  ) ;
3606 extern IRConst *IRConst_U8(UChar  ) ;   3606 extern IRConst *IRConst_U8(UChar  ) ;
3607 extern IRConst *IRConst_U16(UShort  ) ;   3607 extern IRConst *IRConst_U16(UShort  ) ;
3608 extern IRConst *IRConst_U32(UInt  ) ;   3608 extern IRConst *IRConst_U32(UInt  ) ;
3609 extern IRConst *IRConst_U64(ULong  ) ;   3609 extern IRConst *IRConst_U64(ULong  ) ;
3610 extern IRConst *IRConst_F32(Float  ) ;   3610 extern IRConst *IRConst_F32(Float  ) ;
3611 extern IRConst *IRConst_F32i(UInt  ) ;   3611 extern IRConst *IRConst_F32i(UInt  ) ;
3612 extern IRConst *IRConst_F64(Double  ) ;   3612 extern IRConst *IRConst_F64(Double  ) ;
3613 extern IRConst *IRConst_F64i(ULong  ) ;   3613 extern IRConst *IRConst_F64i(ULong  ) ;
3614 extern IRConst *IRConst_V128(UShort  ) ;   3614 extern IRConst *IRConst_V128(UShort  ) ;
3615 extern IRConst *deepCopyIRConst(IRConst * ) ;   3615 extern IRConst *deepCopyIRConst(IRConst * ) ;
3616 extern void ppIRConst(IRConst * ) ;   3616 extern void ppIRConst(IRConst * ) ;
3617 extern Bool eqIRConst(IRConst * , IRConst * ) ;   3617 extern Bool eqIRConst(IRConst * , IRConst * ) ;
3618 extern IRCallee *mkIRCallee(Int regparms , HChar *name , void *addr ) ;   3618 extern IRCallee *mkIRCallee(Int regparms , HChar *name , void *addr ) ;
3619 extern IRCallee *deepCopyIRCallee(IRCallee * ) ;   3619 extern IRCallee *deepCopyIRCallee(IRCallee * ) ;
3620 extern void ppIRCallee(IRCallee * ) ;   3620 extern void ppIRCallee(IRCallee * ) ;
3621 extern IRRegArray *mkIRRegArray(Int  , IRType  , Int  ) ;   3621 extern IRRegArray *mkIRRegArray(Int  , IRType  , Int  ) ;
3622 extern IRRegArray *deepCopyIRRegArray(IRRegArray * ) ;   3622 extern IRRegArray *deepCopyIRRegArray(IRRegArray * ) ;
3623 extern void ppIRRegArray(IRRegArray * ) ;   3623 extern void ppIRRegArray(IRRegArray * ) ;
3624 extern Bool eqIRRegArray(IRRegArray * , IRRegArray * ) ;   3624 extern Bool eqIRRegArray(IRRegArray * , IRRegArray * ) ;
3625 extern void ppIRTemp(IRTemp  ) ;   3625 extern void ppIRTemp(IRTemp  ) ;
3626 extern void ppIROp(IROp  ) ;   3626 extern void ppIROp(IROp  ) ;
3627 extern IRExpr *IRExpr_Binder(Int binder ) ;   3627 extern IRExpr *IRExpr_Binder(Int binder ) ;
3628 extern IRExpr *IRExpr_Get(Int off , IRType ty ) ;   3628 extern IRExpr *IRExpr_Get(Int off , IRType ty ) ;
3629 extern IRExpr *IRExpr_GetI(IRRegArray *descr , IRExpr *ix , Int bias ) ;   3629 extern IRExpr *IRExpr_GetI(IRRegArray *descr , IRExpr *ix , Int bias ) ;
3630 extern IRExpr *IRExpr_RdTmp(IRTemp tmp ) ;   3630 extern IRExpr *IRExpr_RdTmp(IRTemp tmp ) ;
3631 extern IRExpr *IRExpr_Qop(IROp op , IRExpr *arg1 , IRExpr *arg2 , IRExpr *arg3 ,   3631 extern IRExpr *IRExpr_Qop(IROp op , IRExpr *arg1 , IRExpr *arg2 , IRExpr *arg3 ,
3632                           IRExpr *arg4 ) ;   3632                           IRExpr *arg4 ) ;
3633 extern IRExpr *IRExpr_Triop(IROp op , IRExpr *arg1 , IRExpr *arg2 ,   3633 extern IRExpr *IRExpr_Triop(IROp op , IRExpr *arg1 , IRExpr *arg2 ,
3634                             IRExpr *arg3 ) ;   3634                             IRExpr *arg3 ) ;
3635 extern IRExpr *IRExpr_Binop(IROp op , IRExpr *arg1 , IRExpr *arg2 ) ;   3635 extern IRExpr *IRExpr_Binop(IROp op , IRExpr *arg1 , IRExpr *arg2 ) ;
3636 extern IRExpr *IRExpr_Unop(IROp op , IRExpr *arg ) ;   3636 extern IRExpr *IRExpr_Unop(IROp op , IRExpr *arg ) ;
3637 extern IRExpr *IRExpr_Load(IREndness end , IRType ty , IRExpr *addr ) ;   3637 extern IRExpr *IRExpr_Load(IREndness end , IRType ty , IRExpr *addr ) ;
3638 extern IRExpr *IRExpr_Const(IRConst *con ) ;   3638 extern IRExpr *IRExpr_Const(IRConst *con ) ;
3639 extern IRExpr *IRExpr_CCall(IRCallee *cee , IRType retty , IRExpr **args ) ;   3639 extern IRExpr *IRExpr_CCall(IRCallee *cee , IRType retty , IRExpr **args ) ;
3640 extern IRExpr *IRExpr_Mux0X(IRExpr *cond , IRExpr *expr0 , IRExpr *exprX ) ;   3640 extern IRExpr *IRExpr_Mux0X(IRExpr *cond , IRExpr *expr0 , IRExpr *exprX ) ;
3641 extern IRExpr *deepCopyIRExpr(IRExpr * ) ;   3641 extern IRExpr *deepCopyIRExpr(IRExpr * ) ;
3642 extern void ppIRExpr(IRExpr * ) ;   3642 extern void ppIRExpr(IRExpr * ) ;
3643 extern IRExpr **mkIRExprVec_0(void) ;   3643 extern IRExpr **mkIRExprVec_0(void) ;
3644 extern IRExpr **mkIRExprVec_1(IRExpr * ) ;   3644 extern IRExpr **mkIRExprVec_1(IRExpr * ) ;
3645 extern IRExpr **mkIRExprVec_2(IRExpr * , IRExpr * ) ;   3645 extern IRExpr **mkIRExprVec_2(IRExpr * , IRExpr * ) ;
3646 extern IRExpr **mkIRExprVec_3(IRExpr * , IRExpr * , IRExpr * ) ;   3646 extern IRExpr **mkIRExprVec_3(IRExpr * , IRExpr * , IRExpr * ) ;
3647 extern IRExpr **mkIRExprVec_4(IRExpr * , IRExpr * , IRExpr * , IRExpr * ) ;   3647 extern IRExpr **mkIRExprVec_4(IRExpr * , IRExpr * , IRExpr * , IRExpr * ) ;
3648 extern IRExpr **mkIRExprVec_5(IRExpr * , IRExpr * , IRExpr * , IRExpr * ,   3648 extern IRExpr **mkIRExprVec_5(IRExpr * , IRExpr * , IRExpr * , IRExpr * ,
3649                               IRExpr * ) ;   3649                               IRExpr * ) ;
3650 extern IRExpr **mkIRExprVec_6(IRExpr * , IRExpr * , IRExpr * , IRExpr * ,   3650 extern IRExpr **mkIRExprVec_6(IRExpr * , IRExpr * , IRExpr * , IRExpr * ,
3651                               IRExpr * , IRExpr * ) ;   3651                               IRExpr * , IRExpr * ) ;
3652 extern IRExpr **mkIRExprVec_7(IRExpr * , IRExpr * , IRExpr * , IRExpr * ,   3652 extern IRExpr **mkIRExprVec_7(IRExpr * , IRExpr * , IRExpr * , IRExpr * ,
3653                               IRExpr * , IRExpr * , IRExpr * ) ;   3653                               IRExpr * , IRExpr * , IRExpr * ) ;
3654 extern IRExpr **mkIRExprVec_8(IRExpr * , IRExpr * , IRExpr * , IRExpr * ,   3654 extern IRExpr **mkIRExprVec_8(IRExpr * , IRExpr * , IRExpr * , IRExpr * ,
3655                               IRExpr * , IRExpr * , IRExpr * , IRExpr * ) ;   3655                               IRExpr * , IRExpr * , IRExpr * , IRExpr * ) ;
3656 extern IRExpr **shallowCopyIRExprVec(IRExpr ** ) ;   3656 extern IRExpr **shallowCopyIRExprVec(IRExpr ** ) ;
3657 extern IRExpr **deepCopyIRExprVec(IRExpr ** ) ;   3657 extern IRExpr **deepCopyIRExprVec(IRExpr ** ) ;
3658 extern IRExpr *mkIRExpr_HWord(HWord  ) ;   3658 extern IRExpr *mkIRExpr_HWord(HWord  ) ;
3659 extern IRExpr *mkIRExprCCall(IRType retty , Int regparms , HChar *name ,   3659 extern IRExpr *mkIRExprCCall(IRType retty , Int regparms , HChar *name ,
3660                              void *addr , IRExpr **args ) ;   3660                              void *addr , IRExpr **args ) ;
3661 __inline static Bool isIRAtom(IRExpr *e )   3661 __inline static Bool isIRAtom(IRExpr *e )
3662 {   3662 {
3663   int tmp ;   3663   int tmp ;
3664   Bool tmp___0 ;   3664   Bool tmp___0 ;
3665     3665  
3666   {   3666   {
3667   if ((unsigned int )e->tag == 86019U) {   3667   if ((unsigned int )e->tag == 86019U) {
3668     tmp = 1;   3668     tmp = 1;
3669   } else   3669   } else
3670   if ((unsigned int )e->tag == 86025U) {   3670   if ((unsigned int )e->tag == 86025U) {
3671     tmp = 1;   3671     tmp = 1;
3672   } else {   3672   } else {
3673     tmp = 0;   3673     tmp = 0;
3674   }   3674   }
3675   tmp___0 = toBool(tmp);   3675   tmp___0 = toBool(tmp);
3676   return (tmp___0);   3676   return (tmp___0);
3677 }   3677 }
3678 }   3678 }
3679 extern Bool eqIRAtom(IRExpr * , IRExpr * ) ;   3679 extern Bool eqIRAtom(IRExpr * , IRExpr * ) ;
3680 extern void ppIRJumpKind(IRJumpKind  ) ;   3680 extern void ppIRJumpKind(IRJumpKind  ) ;
3681 extern void ppIREffect(IREffect  ) ;   3681 extern void ppIREffect(IREffect  ) ;
3682 extern void ppIRDirty(IRDirty * ) ;   3682 extern void ppIRDirty(IRDirty * ) ;
3683 extern IRDirty *emptyIRDirty(void) ;   3683 extern IRDirty *emptyIRDirty(void) ;
3684 extern IRDirty *deepCopyIRDirty(IRDirty * ) ;   3684 extern IRDirty *deepCopyIRDirty(IRDirty * ) ;
3685 extern IRDirty *unsafeIRDirty_0_N(Int regparms , HChar *name , void *addr ,   3685 extern IRDirty *unsafeIRDirty_0_N(Int regparms , HChar *name , void *addr ,
3686                                   IRExpr **args ) ;   3686                                   IRExpr **args ) ;
3687 extern IRDirty *unsafeIRDirty_1_N(IRTemp dst , Int regparms , HChar *name ,   3687 extern IRDirty *unsafeIRDirty_1_N(IRTemp dst , Int regparms , HChar *name ,
3688                                   void *addr , IRExpr **args ) ;   3688                                   void *addr , IRExpr **args ) ;
3689 extern void ppIRMBusEvent(IRMBusEvent  ) ;   3689 extern void ppIRMBusEvent(IRMBusEvent  ) ;
3690 extern void ppIRCAS(IRCAS *cas ) ;   3690 extern void ppIRCAS(IRCAS *cas ) ;
3691 extern IRCAS *mkIRCAS(IRTemp oldHi , IRTemp oldLo , IREndness end ,   3691 extern IRCAS *mkIRCAS(IRTemp oldHi , IRTemp oldLo , IREndness end ,
3692                       IRExpr *addr , IRExpr *expdHi , IRExpr *expdLo ,   3692                       IRExpr *addr , IRExpr *expdHi , IRExpr *expdLo ,
3693                       IRExpr *dataHi , IRExpr *dataLo ) ;   3693                       IRExpr *dataHi , IRExpr *dataLo ) ;
3694 extern IRCAS *deepCopyIRCAS(IRCAS * ) ;   3694 extern IRCAS *deepCopyIRCAS(IRCAS * ) ;
3695 extern IRStmt *IRStmt_NoOp(void) ;   3695 extern IRStmt *IRStmt_NoOp(void) ;
3696 extern IRStmt *IRStmt_IMark(Addr64 addr , Int len , UChar delta ) ;   3696 extern IRStmt *IRStmt_IMark(Addr64 addr , Int len , UChar delta ) ;
3697 extern IRStmt *IRStmt_AbiHint(IRExpr *base , Int len , IRExpr *nia ) ;   3697 extern IRStmt *IRStmt_AbiHint(IRExpr *base , Int len , IRExpr *nia ) ;
3698 extern IRStmt *IRStmt_Put(Int off , IRExpr *data ) ;   3698 extern IRStmt *IRStmt_Put(Int off , IRExpr *data ) ;
3699 extern IRStmt *IRStmt_PutI(IRRegArray *descr , IRExpr *ix , Int bias ,   3699 extern IRStmt *IRStmt_PutI(IRRegArray *descr , IRExpr *ix , Int bias ,
3700                            IRExpr *data ) ;   3700                            IRExpr *data ) ;
3701 extern IRStmt *IRStmt_WrTmp(IRTemp tmp , IRExpr *data ) ;   3701 extern IRStmt *IRStmt_WrTmp(IRTemp tmp , IRExpr *data ) ;
3702 extern IRStmt *IRStmt_Store(IREndness end , IRExpr *addr , IRExpr *data ) ;   3702 extern IRStmt *IRStmt_Store(IREndness end , IRExpr *addr , IRExpr *data ) ;
3703 extern IRStmt *IRStmt_CAS(IRCAS *details ) ;   3703 extern IRStmt *IRStmt_CAS(IRCAS *details ) ;
3704 extern IRStmt *IRStmt_LLSC(IREndness end , IRTemp result , IRExpr *addr ,   3704 extern IRStmt *IRStmt_LLSC(IREndness end , IRTemp result , IRExpr *addr ,
3705                            IRExpr *storedata ) ;   3705                            IRExpr *storedata ) ;
3706 extern IRStmt *IRStmt_Dirty(IRDirty *details ) ;   3706 extern IRStmt *IRStmt_Dirty(IRDirty *details ) ;
3707 extern IRStmt *IRStmt_MBE(IRMBusEvent event ) ;   3707 extern IRStmt *IRStmt_MBE(IRMBusEvent event ) ;
3708 extern IRStmt *IRStmt_Exit(IRExpr *guard , IRJumpKind jk , IRConst *dst ) ;   3708 extern IRStmt *IRStmt_Exit(IRExpr *guard , IRJumpKind jk , IRConst *dst ) ;
3709 extern IRStmt *deepCopyIRStmt(IRStmt * ) ;   3709 extern IRStmt *deepCopyIRStmt(IRStmt * ) ;
3710 extern void ppIRStmt(IRStmt * ) ;   3710 extern void ppIRStmt(IRStmt * ) ;
3711 extern IRTemp newIRTemp(IRTypeEnv * , IRType  ) ;   3711 extern IRTemp newIRTemp(IRTypeEnv * , IRType  ) ;
3712 extern IRTypeEnv *deepCopyIRTypeEnv(IRTypeEnv * ) ;   3712 extern IRTypeEnv *deepCopyIRTypeEnv(IRTypeEnv * ) ;
3713 extern void ppIRTypeEnv(IRTypeEnv * ) ;   3713 extern void ppIRTypeEnv(IRTypeEnv * ) ;
3714 extern IRSB *emptyIRSB(void) ;   3714 extern IRSB *emptyIRSB(void) ;
3715 extern IRSB *deepCopyIRSB(IRSB * ) ;   3715 extern IRSB *deepCopyIRSB(IRSB * ) ;
3716 extern IRSB *deepCopyIRSBExceptStmts(IRSB * ) ;   3716 extern IRSB *deepCopyIRSBExceptStmts(IRSB * ) ;
3717 extern void ppIRSB(IRSB * ) ;   3717 extern void ppIRSB(IRSB * ) ;
3718 extern void addStmtToIRSB(IRSB * , IRStmt * ) ;   3718 extern void addStmtToIRSB(IRSB * , IRStmt * ) ;
3719 extern IRTypeEnv *emptyIRTypeEnv(void) ;   3719 extern IRTypeEnv *emptyIRTypeEnv(void) ;
3720 extern IRType typeOfIRConst(IRConst * ) ;   3720 extern IRType typeOfIRConst(IRConst * ) ;
3721 extern IRType typeOfIRTemp(IRTypeEnv * , IRTemp  ) ;   3721 extern IRType typeOfIRTemp(IRTypeEnv * , IRTemp  ) ;
3722 extern IRType typeOfIRExpr(IRTypeEnv * , IRExpr * ) ;   3722 extern IRType typeOfIRExpr(IRTypeEnv * , IRExpr * ) ;
3723 extern void sanityCheckIRSB(IRSB *bb , HChar *caller , Bool require_flatness ,   3723 extern void sanityCheckIRSB(IRSB *bb , HChar *caller , Bool require_flatness ,
3724                             IRType guest_word_size ) ;   3724                             IRType guest_word_size ) ;
3725 extern Bool isFlatIRStmt(IRStmt * ) ;   3725 extern Bool isFlatIRStmt(IRStmt * ) ;
3726 extern Bool isPlausibleIRType(IRType ty ) ;   3726 extern Bool isPlausibleIRType(IRType ty ) ;
3727 extern HChar const   *LibVEX_ppVexArch(VexArch  ) ;   3727 extern HChar const   *LibVEX_ppVexArch(VexArch  ) ;
3728 extern HChar const   *LibVEX_ppVexHwCaps(VexArch  , UInt  ) ;   3728 extern HChar const   *LibVEX_ppVexHwCaps(VexArch  , UInt  ) ;
3729 extern void LibVEX_default_VexArchInfo(VexArchInfo *vai ) ;   3729 extern void LibVEX_default_VexArchInfo(VexArchInfo *vai ) ;
3730 extern void LibVEX_default_VexAbiInfo(VexAbiInfo *vbi ) ;   3730 extern void LibVEX_default_VexAbiInfo(VexAbiInfo *vbi ) ;
3731 extern void LibVEX_default_VexControl(VexControl *vcon ) ;   3731 extern void LibVEX_default_VexControl(VexControl *vcon ) ;
3732 extern HChar *private_LibVEX_alloc_first ;   3732 extern HChar *private_LibVEX_alloc_first ;
3733 extern HChar *private_LibVEX_alloc_curr ;   3733 extern HChar *private_LibVEX_alloc_curr ;
3734 extern HChar *private_LibVEX_alloc_last ;   3734 extern HChar *private_LibVEX_alloc_last ;
3735 extern  __attribute__((__noreturn__)) void private_LibVEX_alloc_OOM(void) ;   3735 extern  __attribute__((__noreturn__)) void private_LibVEX_alloc_OOM(void) ;
3736 __inline static void *LibVEX_Alloc(Int nbytes )   3736 __inline static void *LibVEX_Alloc(Int nbytes )
3737 {   3737 {
3738   HChar *curr ;   3738   HChar *curr ;
3739   HChar *next ;   3739   HChar *next ;
3740   Int ALIGN ;   3740   Int ALIGN ;
3741     3741  
3742   {   3742   {
3743   ALIGN = (Int )(sizeof(void *) - 1U);   3743   ALIGN = (Int )(sizeof(void *) - 1U);
3744   nbytes = (nbytes + ALIGN) & ~ ALIGN;   3744   nbytes = (nbytes + ALIGN) & ~ ALIGN;
3745   curr = private_LibVEX_alloc_curr;   3745   curr = private_LibVEX_alloc_curr;
3746   next = curr + nbytes;   3746   next = curr + nbytes;
3747   if ((unsigned int )next >= (unsigned int )private_LibVEX_alloc_last) {   3747   if ((unsigned int )next >= (unsigned int )private_LibVEX_alloc_last) {
3748     private_LibVEX_alloc_OOM();   3748     private_LibVEX_alloc_OOM();
3749   } else {   3749   } else {
3750     3750  
3751   }   3751   }
3752   private_LibVEX_alloc_curr = next;   3752   private_LibVEX_alloc_curr = next;
3753   return ((void *)curr);   3753   return ((void *)curr);
3754 }   3754 }
3755 }   3755 }
3756 extern void LibVEX_ShowAllocStats(void) ;   3756 extern void LibVEX_ShowAllocStats(void) ;
3757 extern void LibVEX_Init( __attribute__((__noreturn__)) void (*failure_exit)(void) ,   3757 extern void LibVEX_Init( __attribute__((__noreturn__)) void (*failure_exit)(void) ,
3758                         void (*log_bytes)(HChar * , Int nbytes ) ,   3758                         void (*log_bytes)(HChar * , Int nbytes ) ,
3759                         Int debuglevel , Bool valgrind_support ,   3759                         Int debuglevel , Bool valgrind_support ,
3760                         VexControl *vcon ) ;   3760                         VexControl *vcon ) ;
3761 extern VexTranslateResult LibVEX_Translate(VexTranslateArgs * ) ;   3761 extern VexTranslateResult LibVEX_Translate(VexTranslateArgs * ) ;
3762 extern void LibVEX_ShowStats(void) ;   3762 extern void LibVEX_ShowStats(void) ;
3763 extern HChar *LibVEX_EmWarn_string(VexEmWarn  ) ;   3763 extern HChar *LibVEX_EmWarn_string(VexEmWarn  ) ;
3764 extern void LibVEX_GuestX86_initialise(VexGuestX86State *vex_state ) ;   3764 extern void LibVEX_GuestX86_initialise(VexGuestX86State *vex_state ) ;
3765 extern UInt LibVEX_GuestX86_get_eflags(VexGuestX86State *vex_state ) ;   3765 extern UInt LibVEX_GuestX86_get_eflags(VexGuestX86State *vex_state ) ;
3766 extern void LibVEX_GuestX86_put_eflag_c(UInt new_carry_flag ,   3766 extern void LibVEX_GuestX86_put_eflag_c(UInt new_carry_flag ,
3767                                         VexGuestX86State *vex_state ) ;   3767                                         VexGuestX86State *vex_state ) ;
3768 __inline static struct vki_cmsghdr *__vki_cmsg_nxthdr(void *__ctl ,   3768 __inline static struct vki_cmsghdr *__vki_cmsg_nxthdr(void *__ctl ,
3769                                                       __vki_kernel_size_t __size ,   3769                                                       __vki_kernel_size_t __size ,
3770                                                       struct vki_cmsghdr *__cmsg )   3770                                                       struct vki_cmsghdr *__cmsg )
3771 {   3771 {
3772   struct vki_cmsghdr *__ptr ;   3772   struct vki_cmsghdr *__ptr ;
3773     3773  
3774   {   3774   {
3775   __ptr = (struct vki_cmsghdr *)((unsigned char *)__cmsg + (((__cmsg->cmsg_len + sizeof(long )) - 1U) & ~ (sizeof(long ) - 1U)));   3775   __ptr = (struct vki_cmsghdr *)((unsigned char *)__cmsg + (((__cmsg->cmsg_len + sizeof(long )) - 1U) & ~ (sizeof(long ) - 1U)));
3776   if ((unsigned long )((char *)(__ptr + 1) - (char *)__ctl) > (unsigned long )__size) {   3776   if ((unsigned long )((char *)(__ptr + 1) - (char *)__ctl) > (unsigned long )__size) {
3777     return ((struct vki_cmsghdr *)0);   3777     return ((struct vki_cmsghdr *)0);
3778   } else {   3778   } else {
3779     3779  
3780   }   3780   }
3781   return (__ptr);   3781   return (__ptr);
3782 }   3782 }
3783 }   3783 }
3784 __inline static struct vki_cmsghdr *vki_cmsg_nxthdr(struct vki_msghdr *__msg ,   3784 __inline static struct vki_cmsghdr *vki_cmsg_nxthdr(struct vki_msghdr *__msg ,
3785                                                     struct vki_cmsghdr *__cmsg )   3785                                                     struct vki_cmsghdr *__cmsg )
3786 {   3786 {
3787   struct vki_cmsghdr *tmp ;   3787   struct vki_cmsghdr *tmp ;
3788     3788  
3789   {   3789   {
3790   tmp = __vki_cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg);   3790   tmp = __vki_cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg);
3791   return (tmp);   3791   return (tmp);
3792 }   3792 }
3793 }   3793 }
3794 extern void vgPlain_vki_do_initial_consistency_checks(void) ;   3794 extern void vgPlain_vki_do_initial_consistency_checks(void) ;
3795 extern Char *vgPlain_sysnum_string(Word sysnum , SizeT n_buf , Char *buf ) ;   3795 extern Char *vgPlain_sysnum_string(Word sysnum , SizeT n_buf , Char *buf ) ;
3796 extern Char *vgPlain_sysnum_string_extra(Word sysnum , SizeT n_buf , Char *buf ) ;   3796 extern Char *vgPlain_sysnum_string_extra(Word sysnum , SizeT n_buf , Char *buf ) ;
3797 extern Int vgPlain_sigprocmask(Int how , vki_sigset_t const   *set ,   3797 extern Int vgPlain_sigprocmask(Int how , vki_sigset_t const   *set ,
3798                                vki_sigset_t *oldset ) ;   3798                                vki_sigset_t *oldset ) ;
3799 extern Int vgPlain_sigfillset(vki_sigset_t *set ) ;   3799 extern Int vgPlain_sigfillset(vki_sigset_t *set ) ;
3800 extern Int vgPlain_sigemptyset(vki_sigset_t *set ) ;   3800 extern Int vgPlain_sigemptyset(vki_sigset_t *set ) ;
3801 extern Bool vgPlain_isfullsigset(vki_sigset_t const   *set ) ;   3801 extern Bool vgPlain_isfullsigset(vki_sigset_t const   *set ) ;
3802 extern Bool vgPlain_isemptysigset(vki_sigset_t const   *set ) ;   3802 extern Bool vgPlain_isemptysigset(vki_sigset_t const   *set ) ;
3803 extern Bool vgPlain_iseqsigset(vki_sigset_t const   *set1 ,   3803 extern Bool vgPlain_iseqsigset(vki_sigset_t const   *set1 ,
3804                                vki_sigset_t const   *set2 ) ;   3804                                vki_sigset_t const   *set2 ) ;
3805 extern Int vgPlain_sigaddset(vki_sigset_t *set , Int signum ) ;   3805 extern Int vgPlain_sigaddset(vki_sigset_t *set , Int signum ) ;
3806 extern Int vgPlain_sigdelset(vki_sigset_t *set , Int signum ) ;   3806 extern Int vgPlain_sigdelset(vki_sigset_t *set , Int signum ) ;
3807 extern Int vgPlain_sigismember(vki_sigset_t const   *set , Int signum ) ;   3807 extern Int vgPlain_sigismember(vki_sigset_t const   *set , Int signum ) ;
3808 extern void vgPlain_sigaddset_from_set(vki_sigset_t *dst , vki_sigset_t *src ) ;   3808 extern void vgPlain_sigaddset_from_set(vki_sigset_t *dst , vki_sigset_t *src ) ;
3809 extern void vgPlain_sigdelset_from_set(vki_sigset_t *dst , vki_sigset_t *src ) ;   3809 extern void vgPlain_sigdelset_from_set(vki_sigset_t *dst , vki_sigset_t *src ) ;
3810 extern void vgPlain_sigintersectset(vki_sigset_t *dst , vki_sigset_t *src ) ;   3810 extern void vgPlain_sigintersectset(vki_sigset_t *dst , vki_sigset_t *src ) ;
3811 extern void vgPlain_sigcomplementset(vki_sigset_t *dst , vki_sigset_t *src ) ;   3811 extern void vgPlain_sigcomplementset(vki_sigset_t *dst , vki_sigset_t *src ) ;
3812 extern Int vgPlain_sigaction(Int signum , vki_sigaction_toK_t const   *act ,   3812 extern Int vgPlain_sigaction(Int signum , vki_sigaction_toK_t const   *act ,
3813                              vki_sigaction_fromK_t *oldact ) ;   3813                              vki_sigaction_fromK_t *oldact ) ;
3814 extern void vgPlain_convert_sigaction_fromK_to_toK(vki_sigaction_fromK_t * ,   3814 extern void vgPlain_convert_sigaction_fromK_to_toK(vki_sigaction_fromK_t * ,
3815                                                    vki_sigaction_toK_t * ) ;   3815                                                    vki_sigaction_toK_t * ) ;
3816 extern Int vgPlain_kill(Int pid , Int signo ) ;   3816 extern Int vgPlain_kill(Int pid , Int signo ) ;
3817 extern Int vgPlain_tkill(Int lwpid , Int signo ) ;   3817 extern Int vgPlain_tkill(Int lwpid , Int signo ) ;
3818 extern Int vgPlain_sigtimedwait_zero(vki_sigset_t const   * , vki_siginfo_t * ) ;   3818 extern Int vgPlain_sigtimedwait_zero(vki_sigset_t const   * , vki_siginfo_t * ) ;
3819 extern Int vgPlain_clo_verbosity ;   3819 extern Int vgPlain_clo_verbosity ;
3820 extern Bool vgPlain_clo_stats ;   3820 extern Bool vgPlain_clo_stats ;
3821 extern Int vgPlain_clo_vgdb_error ;   3821 extern Int vgPlain_clo_vgdb_error ;
3822 extern Bool vgPlain_clo_xml ;   3822 extern Bool vgPlain_clo_xml ;
3823 extern HChar *vgPlain_clo_xml_user_comment ;   3823 extern HChar *vgPlain_clo_xml_user_comment ;
3824 extern VexControl vgPlain_clo_vex_control ;   3824 extern VexControl vgPlain_clo_vex_control ;
3825 extern Int vgPlain_clo_backtrace_size ;   3825 extern Int vgPlain_clo_backtrace_size ;
3826 extern Bool vgPlain_clo_show_below_main ;   3826 extern Bool vgPlain_clo_show_below_main ;
3827 extern Char *vgPlain_expand_file_name(Char *option_name , Char *format ) ;   3827 extern Char *vgPlain_expand_file_name(Char *option_name , Char *format ) ;
3828 extern Bool vgPlain_clo_error_limit ;   3828 extern Bool vgPlain_clo_error_limit ;
3829 extern Int vgPlain_clo_error_exitcode ;   3829 extern Int vgPlain_clo_error_exitcode ;
3830 extern VgVgdb vgPlain_clo_vgdb ;   3830 extern VgVgdb vgPlain_clo_vgdb ;
3831 extern Int vgPlain_clo_vgdb_poll ;   3831 extern Int vgPlain_clo_vgdb_poll ;
3832 extern Char *vgPlain_clo_vgdb_prefix ;   3832 extern Char *vgPlain_clo_vgdb_prefix ;
3833 extern Bool vgPlain_clo_vgdb_shadow_registers ;   3833 extern Bool vgPlain_clo_vgdb_shadow_registers ;
3834 extern Bool vgPlain_clo_db_attach ;   3834 extern Bool vgPlain_clo_db_attach ;
3835 extern Char *vgPlain_clo_db_command ;   3835 extern Char *vgPlain_clo_db_command ;
3836 extern Int vgPlain_clo_gen_suppressions ;   3836 extern Int vgPlain_clo_gen_suppressions ;
3837 extern Int vgPlain_clo_sanity_level ;   3837 extern Int vgPlain_clo_sanity_level ;
3838 extern Bool vgPlain_clo_demangle ;   3838 extern Bool vgPlain_clo_demangle ;
3839 extern Bool vgPlain_clo_trace_children ;   3839 extern Bool vgPlain_clo_trace_children ;
3840 extern HChar *vgPlain_clo_trace_children_skip ;   3840 extern HChar *vgPlain_clo_trace_children_skip ;
3841 extern HChar *vgPlain_clo_trace_children_skip_by_arg ;   3841 extern HChar *vgPlain_clo_trace_children_skip_by_arg ;
3842 extern Bool vgPlain_clo_child_silent_after_fork ;   3842 extern Bool vgPlain_clo_child_silent_after_fork ;
3843 extern Char *vgPlain_clo_log_fname_expanded ;   3843 extern Char *vgPlain_clo_log_fname_expanded ;
3844 extern Char *vgPlain_clo_xml_fname_expanded ;   3844 extern Char *vgPlain_clo_xml_fname_expanded ;
3845 extern Bool vgPlain_clo_time_stamp ;   3845 extern Bool vgPlain_clo_time_stamp ;
3846 extern Int vgPlain_clo_input_fd ;   3846 extern Int vgPlain_clo_input_fd ;
3847 extern Int vgPlain_clo_n_suppressions ;   3847 extern Int vgPlain_clo_n_suppressions ;
3848 extern Char *vgPlain_clo_suppressions[100] ;   3848 extern Char *vgPlain_clo_suppressions[100] ;
3849 extern Int vgPlain_clo_n_fullpath_after ;   3849 extern Int vgPlain_clo_n_fullpath_after ;
3850 extern Char *vgPlain_clo_fullpath_after[100] ;   3850 extern Char *vgPlain_clo_fullpath_after[100] ;
3851 extern UChar vgPlain_clo_trace_flags ;   3851 extern UChar vgPlain_clo_trace_flags ;
3852 extern UChar vgPlain_clo_profile_flags ;   3852 extern UChar vgPlain_clo_profile_flags ;
3853 extern Int vgPlain_clo_trace_notbelow ;   3853 extern Int vgPlain_clo_trace_notbelow ;
3854 extern Bool vgPlain_clo_trace_syscalls ;   3854 extern Bool vgPlain_clo_trace_syscalls ;
3855 extern Bool vgPlain_clo_trace_signals ;   3855 extern Bool vgPlain_clo_trace_signals ;
3856 extern Bool vgPlain_clo_trace_symtab ;   3856 extern Bool vgPlain_clo_trace_symtab ;
3857 extern HChar *vgPlain_clo_trace_symtab_patt ;   3857 extern HChar *vgPlain_clo_trace_symtab_patt ;
3858 extern Bool vgPlain_clo_trace_cfi ;   3858 extern Bool vgPlain_clo_trace_cfi ;
3859 extern Bool vgPlain_clo_debug_dump_syms ;   3859 extern Bool vgPlain_clo_debug_dump_syms ;
3860 extern Bool vgPlain_clo_debug_dump_line ;   3860 extern Bool vgPlain_clo_debug_dump_line ;
3861 extern Bool vgPlain_clo_debug_dump_frames ;   3861 extern Bool vgPlain_clo_debug_dump_frames ;
3862 extern Bool vgPlain_clo_trace_redir ;   3862 extern Bool vgPlain_clo_trace_redir ;
3863 extern Bool vgPlain_clo_trace_sched ;   3863 extern Bool vgPlain_clo_trace_sched ;
3864 extern Bool vgPlain_clo_profile_heap ;   3864 extern Bool vgPlain_clo_profile_heap ;
3865 extern Int vgPlain_clo_dump_error ;   3865 extern Int vgPlain_clo_dump_error ;
3866 extern Char *vgPlain_clo_sim_hints ;   3866 extern Char *vgPlain_clo_sim_hints ;
3867 extern Bool vgPlain_clo_sym_offsets ;   3867 extern Bool vgPlain_clo_sym_offsets ;
3868 extern Bool vgPlain_clo_read_var_info ;   3868 extern Bool vgPlain_clo_read_var_info ;
3869 extern Char *vgPlain_clo_prefix_to_strip ;   3869 extern Char *vgPlain_clo_prefix_to_strip ;
3870 extern Int vgPlain_clo_n_req_tsyms ;   3870 extern Int vgPlain_clo_n_req_tsyms ;
3871 extern HChar *vgPlain_clo_req_tsyms[100] ;   3871 extern HChar *vgPlain_clo_req_tsyms[100] ;
3872 extern Bool vgPlain_clo_track_fds ;   3872 extern Bool vgPlain_clo_track_fds ;
3873 extern Bool vgPlain_clo_run_libc_freeres ;   3873 extern Bool vgPlain_clo_run_libc_freeres ;
3874 extern Bool vgPlain_clo_show_emwarns ;   3874 extern Bool vgPlain_clo_show_emwarns ;
3875 extern Word vgPlain_clo_max_stackframe ;   3875 extern Word vgPlain_clo_max_stackframe ;
3876 extern Word vgPlain_clo_main_stacksize ;   3876 extern Word vgPlain_clo_main_stacksize ;
3877 extern Bool vgPlain_clo_wait_for_gdb ;   3877 extern Bool vgPlain_clo_wait_for_gdb ;
3878 extern VgSmc vgPlain_clo_smc_check ;   3878 extern VgSmc vgPlain_clo_smc_check ;
3879 extern HChar *vgPlain_clo_kernel_variant ;   3879 extern HChar *vgPlain_clo_kernel_variant ;
3880 extern Bool vgPlain_clo_dsymutil ;   3880 extern Bool vgPlain_clo_dsymutil ;
3881 extern Bool vgPlain_should_we_trace_this_child(HChar *child_exe_name ,   3881 extern Bool vgPlain_should_we_trace_this_child(HChar *child_exe_name ,
3882                                                HChar **child_argv ) ;   3882                                                HChar **child_argv ) ;
3883 extern XArray *vgPlain_newXA(void *(*alloc_fn)(HChar * , SizeT  ) , HChar *cc ,   3883 extern XArray *vgPlain_newXA(void *(*alloc_fn)(HChar * , SizeT  ) , HChar *cc ,
3884                              void (*free_fn)(void * ) , Word elemSzB ) ;   3884                              void (*free_fn)(void * ) , Word elemSzB ) ;
3885 extern void vgPlain_deleteXA(XArray * ) ;   3885 extern void vgPlain_deleteXA(XArray * ) ;
3886 extern void vgPlain_setCmpFnXA(XArray * , Int (*compar)(void * , void * ) ) ;   3886 extern void vgPlain_setCmpFnXA(XArray * , Int (*compar)(void * , void * ) ) ;
3887 extern Word vgPlain_addToXA(XArray * , void *elem ) ;   3887 extern Word vgPlain_addToXA(XArray * , void *elem ) ;
3888 extern Word vgPlain_addBytesToXA(XArray *xao , void *bytesV , Word nbytes ) ;   3888 extern Word vgPlain_addBytesToXA(XArray *xao , void *bytesV , Word nbytes ) ;
3889 extern void vgPlain_sortXA(XArray * ) ;   3889 extern void vgPlain_sortXA(XArray * ) ;
3890 extern Bool vgPlain_lookupXA(XArray * , void *key , Word *first , Word *last ) ;   3890 extern Bool vgPlain_lookupXA(XArray * , void *key , Word *first , Word *last ) ;
3891 extern Bool vgPlain_lookupXA_UNSAFE(XArray *xao , void *key , Word *first ,   3891 extern Bool vgPlain_lookupXA_UNSAFE(XArray *xao , void *key , Word *first ,
3892                                     Word *last , Int (*cmpFn)(void * , void * ) ) ;   3892                                     Word *last , Int (*cmpFn)(void * , void * ) ) ;
3893 extern Word vgPlain_sizeXA(XArray * ) ;   3893 extern Word vgPlain_sizeXA(XArray * ) ;
3894 extern void *vgPlain_indexXA(XArray * , Word  ) ;   3894 extern void *vgPlain_indexXA(XArray * , Word  ) ;
3895 extern void vgPlain_dropTailXA(XArray * , Word  ) ;   3895 extern void vgPlain_dropTailXA(XArray * , Word  ) ;
3896 extern void vgPlain_dropHeadXA(XArray * , Word  ) ;   3896 extern void vgPlain_dropHeadXA(XArray * , Word  ) ;
3897 extern XArray *vgPlain_cloneXA(HChar *cc , XArray *xa ) ;   3897 extern XArray *vgPlain_cloneXA(HChar *cc , XArray *xa ) ;
3898 extern void vgPlain_getContentsXA_UNSAFE(XArray *sr , void **ctsP , Word *usedP ) ;   3898 extern void vgPlain_getContentsXA_UNSAFE(XArray *sr , void **ctsP , Word *usedP ) ;
3899 extern void ( /* format attribute */  vgPlain_xaprintf)(XArray *dst ,   3899 extern void ( /* format attribute */  vgPlain_xaprintf)(XArray *dst ,
3900                                                         HChar const   *format   3900                                                         HChar const   *format
3901                                                         , ...) ;   3901                                                         , ...) ;
3902 extern void vgPlain_xaprintf_no_f_c(XArray *dst , HChar const   *format  , ...) ;   3902 extern void vgPlain_xaprintf_no_f_c(XArray *dst , HChar const   *format  , ...) ;
3903 extern XArray *vgPlain_args_for_client ;   3903 extern XArray *vgPlain_args_for_client ;
3904 extern XArray *vgPlain_args_for_valgrind ;   3904 extern XArray *vgPlain_args_for_valgrind ;
3905 extern Int vgPlain_args_for_valgrind_noexecpass ;   3905 extern Int vgPlain_args_for_valgrind_noexecpass ;
3906 extern HChar const   *vgPlain_args_the_exename ;   3906 extern HChar const   *vgPlain_args_the_exename ;
3907 extern Addr vgPlain_clstk_base ;   3907 extern Addr vgPlain_clstk_base ;
3908 extern Addr vgPlain_clstk_end ;   3908 extern Addr vgPlain_clstk_end ;
3909 extern UWord vgPlain_clstk_id ;   3909 extern UWord vgPlain_clstk_id ;
3910 extern Addr vgPlain_brk_base ;   3910 extern Addr vgPlain_brk_base ;
3911 extern Addr vgPlain_brk_limit ;   3911 extern Addr vgPlain_brk_limit ;
3912 extern Int vgPlain_cl_exec_fd ;   3912 extern Int vgPlain_cl_exec_fd ;
3913 extern Int vgPlain_cl_cmdline_fd ;   3913 extern Int vgPlain_cl_cmdline_fd ;
3914 extern struct vki_rlimit vgPlain_client_rlimit_data ;   3914 extern struct vki_rlimit vgPlain_client_rlimit_data ;
3915 extern struct vki_rlimit vgPlain_client_rlimit_stack ;   3915 extern struct vki_rlimit vgPlain_client_rlimit_stack ;
3916 extern HChar *vgPlain_name_of_launcher ;   3916 extern HChar *vgPlain_name_of_launcher ;
3917 extern Int vgPlain_fd_soft_limit ;   3917 extern Int vgPlain_fd_soft_limit ;
3918 extern Int vgPlain_fd_hard_limit ;   3918 extern Int vgPlain_fd_hard_limit ;
3919 extern Addr vgPlain_client___libc_freeres_wrapper ;   3919 extern Addr vgPlain_client___libc_freeres_wrapper ;
3920 extern Addr vgPlain_client__dl_sysinfo_int80 ;   3920 extern Addr vgPlain_client__dl_sysinfo_int80 ;
3921 extern void vgPlain_debugLog_startup(Int level , HChar *who ) ;   3921 extern void vgPlain_debugLog_startup(Int level , HChar *who ) ;
3922 extern Int vgPlain_debugLog_getLevel(void) ;   3922 extern Int vgPlain_debugLog_getLevel(void) ;
3923 extern void ( /* format attribute */  vgPlain_debugLog)(Int level ,   3923 extern void ( /* format attribute */  vgPlain_debugLog)(Int level ,
3924                                                         HChar const   *modulename ,   3924                                                         HChar const   *modulename ,
3925                                                         HChar const   *format   3925                                                         HChar const   *format
3926                                                         , ...) ;   3926                                                         , ...) ;
3927 extern UInt vgPlain_debugLog_vprintf(void (*send_fn)(HChar  , void * ) ,   3927 extern UInt vgPlain_debugLog_vprintf(void (*send_fn)(HChar  , void * ) ,
3928                                      void *send_arg2 , HChar const   *format ,   3928                                      void *send_arg2 , HChar const   *format ,
3929                                      va_list vargs ) ;   3929                                      va_list vargs ) ;
3930 extern ExeContext *vgPlain_record_ExeContext(ThreadId tid , Word first_ip_delta ) ;   3930 extern ExeContext *vgPlain_record_ExeContext(ThreadId tid , Word first_ip_delta ) ;
3931 extern ExeContext *vgPlain_record_depth_1_ExeContext(ThreadId tid ) ;   3931 extern ExeContext *vgPlain_record_depth_1_ExeContext(ThreadId tid ) ;
3932 extern void vgPlain_apply_ExeContext(void (*action)(UInt n , Addr ip ) ,   3932 extern void vgPlain_apply_ExeContext(void (*action)(UInt n , Addr ip ) ,
3933                                      ExeContext *ec , UInt n_ips ) ;   3933                                      ExeContext *ec , UInt n_ips ) ;
3934 extern Bool vgPlain_eq_ExeContext(VgRes res , ExeContext *e1 , ExeContext *e2 ) ;   3934 extern Bool vgPlain_eq_ExeContext(VgRes res , ExeContext *e1 , ExeContext *e2 ) ;
3935 extern void vgPlain_pp_ExeContext(ExeContext *ec ) ;   3935 extern void vgPlain_pp_ExeContext(ExeContext *ec ) ;
3936 extern UInt vgPlain_get_ECU_from_ExeContext(ExeContext *e ) ;   3936 extern UInt vgPlain_get_ECU_from_ExeContext(ExeContext *e ) ;
3937 extern Int vgPlain_get_ExeContext_n_ips(ExeContext *e ) ;   3937 extern Int vgPlain_get_ExeContext_n_ips(ExeContext *e ) ;
3938 extern ExeContext *vgPlain_get_ExeContext_from_ECU(UInt uniq ) ;   3938 extern ExeContext *vgPlain_get_ExeContext_from_ECU(UInt uniq ) ;
3939 extern ExeContext *vgPlain_make_depth_1_ExeContext_from_Addr(Addr a ) ;   3939 extern ExeContext *vgPlain_make_depth_1_ExeContext_from_Addr(Addr a ) ;
3940 __inline static Bool vgPlain_is_plausible_ECU(UInt ecu )   3940 __inline static Bool vgPlain_is_plausible_ECU(UInt ecu )
3941 {   3941 {
3942   int tmp ;   3942   int tmp ;
3943     3943  
3944   {   3944   {
3945   if (ecu > 0U) {   3945   if (ecu > 0U) {
3946     if ((ecu & 3U) == 0U) {   3946     if ((ecu & 3U) == 0U) {
3947       tmp = 1;   3947       tmp = 1;
3948     } else {   3948     } else {
3949       tmp = 0;   3949       tmp = 0;
3950     }   3950     }
3951   } else {   3951   } else {
3952     tmp = 0;   3952     tmp = 0;
3953   }   3953   }
3954   return ((Bool )tmp);   3954   return ((Bool )tmp);
3955 }   3955 }
3956 }   3956 }
3957 extern ExeContext *vgPlain_make_ExeContext_from_StackTrace(Addr *ips ,   3957 extern ExeContext *vgPlain_make_ExeContext_from_StackTrace(Addr *ips ,
3958                                                            UInt n_ips ) ;   3958                                                            UInt n_ips ) ;
3959 extern ExeContext *vgPlain_get_error_where(Error *err ) ;   3959 extern ExeContext *vgPlain_get_error_where(Error *err ) ;
3960 extern ErrorKind vgPlain_get_error_kind(Error *err ) ;   3960 extern ErrorKind vgPlain_get_error_kind(Error *err ) ;
3961 extern Addr vgPlain_get_error_address(Error *err ) ;   3961 extern Addr vgPlain_get_error_address(Error *err ) ;
3962 extern Char *vgPlain_get_error_string(Error *err ) ;   3962 extern Char *vgPlain_get_error_string(Error *err ) ;
3963 extern void *vgPlain_get_error_extra(Error *err ) ;   3963 extern void *vgPlain_get_error_extra(Error *err ) ;
3964 extern void vgPlain_maybe_record_error(ThreadId tid , ErrorKind ekind , Addr a ,   3964 extern void vgPlain_maybe_record_error(ThreadId tid , ErrorKind ekind , Addr a ,
3965                                        Char *s , void *extra ) ;   3965                                        Char *s , void *extra ) ;
3966 extern Bool vgPlain_unique_error(ThreadId tid , ErrorKind ekind , Addr a ,   3966 extern Bool vgPlain_unique_error(ThreadId tid , ErrorKind ekind , Addr a ,
3967                                  Char *s , void *extra , ExeContext *where ,   3967                                  Char *s , void *extra , ExeContext *where ,
3968                                  Bool print_error , Bool allow_GDB_attach ,   3968                                  Bool print_error , Bool allow_GDB_attach ,
3969                                  Bool count_error ) ;   3969                                  Bool count_error ) ;
3970 extern Bool vgPlain_get_line(Int fd , Char **bufpp , SizeT *nBufp , Int *lineno ) ;   3970 extern Bool vgPlain_get_line(Int fd , Char **bufpp , SizeT *nBufp , Int *lineno ) ;
3971 extern SuppKind vgPlain_get_supp_kind(Supp *su ) ;   3971 extern SuppKind vgPlain_get_supp_kind(Supp *su ) ;
3972 extern Char *vgPlain_get_supp_string(Supp *su ) ;   3972 extern Char *vgPlain_get_supp_string(Supp *su ) ;
3973 extern void *vgPlain_get_supp_extra(Supp *su ) ;   3973 extern void *vgPlain_get_supp_extra(Supp *su ) ;
3974 extern void vgPlain_set_supp_kind(Supp *su , SuppKind suppkind ) ;   3974 extern void vgPlain_set_supp_kind(Supp *su , SuppKind suppkind ) ;
3975 extern void vgPlain_set_supp_string(Supp *su , Char *string ) ;   3975 extern void vgPlain_set_supp_string(Supp *su , Char *string ) ;
3976 extern void vgPlain_set_supp_extra(Supp *su , void *extra ) ;   3976 extern void vgPlain_set_supp_extra(Supp *su , void *extra ) ;
3977 extern void vgPlain_load_suppressions(void) ;   3977 extern void vgPlain_load_suppressions(void) ;
3978 extern void vgPlain_show_all_errors(Int verbosity , Bool xml ) ;   3978 extern void vgPlain_show_all_errors(Int verbosity , Bool xml ) ;
3979 extern void vgPlain_show_last_error(void) ;   3979 extern void vgPlain_show_last_error(void) ;
3980 extern void vgPlain_show_error_counts_as_XML(void) ;   3980 extern void vgPlain_show_error_counts_as_XML(void) ;
3981 extern Bool vgPlain_is_action_requested(Char *action , Bool *clo ) ;   3981 extern Bool vgPlain_is_action_requested(Char *action , Bool *clo ) ;
3982 extern Bool vgPlain_showing_core_errors(void) ;   3982 extern Bool vgPlain_showing_core_errors(void) ;
3983 extern UInt vgPlain_get_n_errs_found(void) ;   3983 extern UInt vgPlain_get_n_errs_found(void) ;
3984 extern void vgPlain_print_errormgr_stats(void) ;   3984 extern void vgPlain_print_errormgr_stats(void) ;
3985 extern  __attribute__((__noreturn__)) void vgPlain_exit(Int status ) ;   3985 extern  __attribute__((__noreturn__)) void vgPlain_exit(Int status ) ;
3986 extern  __attribute__((__noreturn__)) void vgPlain_tool_panic(Char *str ) ;   3986 extern  __attribute__((__noreturn__)) void vgPlain_tool_panic(Char *str ) ;
3987 extern  __attribute__((__noreturn__)) void vgPlain_assert_fail(Bool isCore ,   3987 extern  __attribute__((__noreturn__)) void vgPlain_assert_fail(Bool isCore ,
3988                                                                Char const   *expr ,   3988                                                                Char const   *expr ,
3989                                                                Char const   *file ,   3989                                                                Char const   *file ,
3990                                                                Int line ,   3990                                                                Int line ,
3991                                                                Char const   *fn ,   3991                                                                Char const   *fn ,
3992                                                                HChar const   *format   3992                                                                HChar const   *format
3993                                                                , ...) ;   3993                                                                , ...) ;
3994 extern  __attribute__((__noreturn__)) void vgPlain_core_panic(Char *str ) ;   3994 extern  __attribute__((__noreturn__)) void vgPlain_core_panic(Char *str ) ;
3995 extern  __attribute__((__noreturn__)) void vgPlain_core_panic_at(Char *str ,   3995 extern  __attribute__((__noreturn__)) void vgPlain_core_panic_at(Char *str ,
3996                                                                  UnwindStartRegs * ) ;   3996                                                                  UnwindStartRegs * ) ;
3997 extern  __attribute__((__noreturn__)) void vgPlain_unimplemented(Char *msg ) ;   3997 extern  __attribute__((__noreturn__)) void vgPlain_unimplemented(Char *msg ) ;
3998 extern void vgPlain_show_sched_status(void) ;   3998 extern void vgPlain_show_sched_status(void) ;
3999 extern SysRes vgPlain_mknod(Char const   *pathname , Int mode , UWord dev ) ;   3999 extern SysRes vgPlain_mknod(Char const   *pathname , Int mode , UWord dev ) ;
4000 extern SysRes vgPlain_open(Char const   *pathname , Int flags , Int mode ) ;   4000 extern SysRes vgPlain_open(Char const   *pathname , Int flags , Int mode ) ;
4001 extern Int vgPlain_fd_open(Char const   *pathname , Int flags , Int mode ) ;   4001 extern Int vgPlain_fd_open(Char const   *pathname , Int flags , Int mode ) ;
4002 extern void vgPlain_close(Int fd ) ;   4002 extern void vgPlain_close(Int fd ) ;
4003 extern Int vgPlain_read(Int fd , void *buf , Int count ) ;   4003 extern Int vgPlain_read(Int fd , void *buf , Int count ) ;
4004 extern Int vgPlain_write(Int fd , void const   *buf , Int count ) ;   4004 extern Int vgPlain_write(Int fd , void const   *buf , Int count ) ;
4005 extern Int vgPlain_pipe(Int *fd ) ;   4005 extern Int vgPlain_pipe(Int *fd ) ;
4006 extern OffT vgPlain_lseek(Int fd , OffT offset , Int whence ) ;   4006 extern OffT vgPlain_lseek(Int fd , OffT offset , Int whence ) ;
4007 extern SysRes vgPlain_stat(Char const   *file_name , struct vg_stat *buf ) ;   4007 extern SysRes vgPlain_stat(Char const   *file_name , struct vg_stat *buf ) ;
4008 extern Int vgPlain_fstat(Int fd , struct vg_stat *buf ) ;   4008 extern Int vgPlain_fstat(Int fd , struct vg_stat *buf ) ;
4009 extern SysRes vgPlain_dup(Int oldfd ) ;   4009 extern SysRes vgPlain_dup(Int oldfd ) ;
4010 extern SysRes vgPlain_dup2(Int oldfd , Int newfd ) ;   4010 extern SysRes vgPlain_dup2(Int oldfd , Int newfd ) ;
4011 extern Int vgPlain_rename(Char const   *old_name , Char const   *new_name ) ;   4011 extern Int vgPlain_rename(Char const   *old_name , Char const   *new_name ) ;
4012 extern Int vgPlain_unlink(Char const   *file_name ) ;   4012 extern Int vgPlain_unlink(Char const   *file_name ) ;
4013 extern Int vgPlain_poll(struct vki_pollfd *fds , Int nfds , Int timeout ) ;   4013 extern Int vgPlain_poll(struct vki_pollfd *fds , Int nfds , Int timeout ) ;
4014 extern Int vgPlain_readlink(Char const   *path , Char *buf , UInt bufsize ) ;   4014 extern Int vgPlain_readlink(Char const   *path , Char *buf , UInt bufsize ) ;
4015 extern Int vgPlain_getdents(Int fd , struct vki_dirent *dirp , UInt count ) ;   4015 extern Int vgPlain_getdents(Int fd , struct vki_dirent *dirp , UInt count ) ;
4016 extern Char *vgPlain_basename(Char const   *path ) ;   4016 extern Char *vgPlain_basename(Char const   *path ) ;
4017 extern Char *vgPlain_dirname(Char const   *path ) ;   4017 extern Char *vgPlain_dirname(Char const   *path ) ;
4018 extern Bool vgPlain_get_startup_wd(Char *buf , SizeT size ) ;   4018 extern Bool vgPlain_get_startup_wd(Char *buf , SizeT size ) ;
4019 extern Int vgPlain_safe_fd(Int oldfd ) ;   4019 extern Int vgPlain_safe_fd(Int oldfd ) ;
4020 extern Int vgPlain_fcntl(Int fd , Int cmd , Addr arg ) ;   4020 extern Int vgPlain_fcntl(Int fd , Int cmd , Addr arg ) ;
4021 extern Bool vgPlain_resolve_filename(Int fd , HChar *buf , Int n_buf ) ;   4021 extern Bool vgPlain_resolve_filename(Int fd , HChar *buf , Int n_buf ) ;
4022 extern Long vgPlain_fsize(Int fd ) ;   4022 extern Long vgPlain_fsize(Int fd ) ;
4023 extern Bool vgPlain_is_dir(HChar const   *f ) ;   4023 extern Bool vgPlain_is_dir(HChar const   *f ) ;
4024 extern Int vgPlain_connect_via_socket(UChar *str ) ;   4024 extern Int vgPlain_connect_via_socket(UChar *str ) ;
4025 extern UInt vgPlain_htonl(UInt x ) ;   4025 extern UInt vgPlain_htonl(UInt x ) ;
4026 extern UInt vgPlain_ntohl(UInt x ) ;   4026 extern UInt vgPlain_ntohl(UInt x ) ;
4027 extern UShort vgPlain_htons(UShort x ) ;   4027 extern UShort vgPlain_htons(UShort x ) ;
4028 extern UShort vgPlain_ntohs(UShort x ) ;   4028 extern UShort vgPlain_ntohs(UShort x ) ;
4029 extern Int vgPlain_socket(Int domain , Int type , Int protocol ) ;   4029 extern Int vgPlain_socket(Int domain , Int type , Int protocol ) ;
4030 extern Int vgPlain_write_socket(Int sd , void *msg , Int count ) ;   4030 extern Int vgPlain_write_socket(Int sd , void *msg , Int count ) ;
4031 extern Int vgPlain_getsockname(Int sd , struct vki_sockaddr *name ,   4031 extern Int vgPlain_getsockname(Int sd , struct vki_sockaddr *name ,
4032                                Int *namelen ) ;   4032                                Int *namelen ) ;
4033 extern Int vgPlain_getpeername(Int sd , struct vki_sockaddr *name ,   4033 extern Int vgPlain_getpeername(Int sd , struct vki_sockaddr *name ,
4034                                Int *namelen ) ;   4034                                Int *namelen ) ;
4035 extern Int vgPlain_getsockopt(Int sd , Int level , Int optname , void *optval ,   4035 extern Int vgPlain_getsockopt(Int sd , Int level , Int optname , void *optval ,
4036                               Int *optlen ) ;   4036                               Int *optlen ) ;
4037 extern Int vgPlain_access(HChar const   *path , Bool irusr , Bool iwusr ,   4037 extern Int vgPlain_access(HChar const   *path , Bool irusr , Bool iwusr ,
4038                           Bool ixusr ) ;   4038                           Bool ixusr ) ;
4039 extern Int vgPlain_check_executable(Bool *is_setuid , HChar const   *f ,   4039 extern Int vgPlain_check_executable(Bool *is_setuid , HChar const   *f ,
4040                                     Bool allow_setuid ) ;   4040                                     Bool allow_setuid ) ;
4041 extern SysRes vgPlain_pread(Int fd , void *buf , Int count , OffT offset ) ;   4041 extern SysRes vgPlain_pread(Int fd , void *buf , Int count , OffT offset ) ;
4042 extern Int vgPlain_mkstemp(HChar *part_of_name , HChar *fullname ) ;   4042 extern Int vgPlain_mkstemp(HChar *part_of_name , HChar *fullname ) ;
4043 extern Bool vgPlain_record_startup_wd(void) ;   4043 extern Bool vgPlain_record_startup_wd(void) ;
4044 extern UInt ( /* format attribute */  vgPlain_sprintf)(Char *buf ,   4044 extern UInt ( /* format attribute */  vgPlain_sprintf)(Char *buf ,
4045                                                        HChar const   *format   4045                                                        HChar const   *format
4046                                                        , ...) ;   4046                                                        , ...) ;
4047 extern UInt ( /* format attribute */  vgPlain_vsprintf)(Char *buf ,   4047 extern UInt ( /* format attribute */  vgPlain_vsprintf)(Char *buf ,
4048                                                         HChar const   *format ,   4048                                                         HChar const   *format ,
4049                                                         va_list vargs ) ;   4049                                                         va_list vargs ) ;
4050 extern UInt ( /* format attribute */  vgPlain_snprintf)(Char *buf , Int size ,   4050 extern UInt ( /* format attribute */  vgPlain_snprintf)(Char *buf , Int size ,
4051                                                         HChar const   *format   4051                                                         HChar const   *format
4052                                                         , ...) ;   4052                                                         , ...) ;
4053 extern UInt ( /* format attribute */  vgPlain_vsnprintf)(Char *buf , Int size ,   4053 extern UInt ( /* format attribute */  vgPlain_vsnprintf)(Char *buf , Int size ,
4054                                                          HChar const   *format ,   4054                                                          HChar const   *format ,
4055                                                          va_list vargs ) ;   4055                                                          va_list vargs ) ;
4056 extern void vgPlain_percentify(ULong n , ULong m , UInt d , Int n_buf ,   4056 extern void vgPlain_percentify(ULong n , ULong m , UInt d , Int n_buf ,
4057                                char *buf ) ;   4057                                char *buf ) ;
4058 extern UInt ( /* format attribute */  vgPlain_printf)(HChar const   *format   4058 extern UInt ( /* format attribute */  vgPlain_printf)(HChar const   *format
4059                                                       , ...) ;   4059                                                       , ...) ;
4060 extern UInt ( /* format attribute */  vgPlain_vprintf)(HChar const   *format ,   4060 extern UInt ( /* format attribute */  vgPlain_vprintf)(HChar const   *format ,
4061                                                        va_list vargs ) ;   4061                                                        va_list vargs ) ;
4062 extern UInt ( /* format attribute */  vgPlain_printf_xml)(HChar const   *format   4062 extern UInt ( /* format attribute */  vgPlain_printf_xml)(HChar const   *format
4063                                                           , ...) ;   4063                                                           , ...) ;
4064 extern UInt ( /* format attribute */  vgPlain_vprintf_xml)(HChar const   *format ,   4064 extern UInt ( /* format attribute */  vgPlain_vprintf_xml)(HChar const   *format ,
4065                                                            va_list vargs ) ;   4065                                                            va_list vargs ) ;
4066 extern UInt vgPlain_printf_xml_no_f_c(HChar const   *format  , ...) ;   4066 extern UInt vgPlain_printf_xml_no_f_c(HChar const   *format  , ...) ;
4067 extern void vgPlain_vcbprintf(void (*char_sink)(HChar  , void *opaque ) ,   4067 extern void vgPlain_vcbprintf(void (*char_sink)(HChar  , void *opaque ) ,
4068                               void *opaque , HChar const   *format ,   4068                               void *opaque , HChar const   *format ,
4069                               va_list vargs ) ;   4069                               va_list vargs ) ;
4070 extern UInt vgPlain_message_no_f_c(VgMsgKind kind , HChar const   *format  , ...) ;   4070 extern UInt vgPlain_message_no_f_c(VgMsgKind kind , HChar const   *format  , ...) ;
4071 extern UInt ( /* format attribute */  vgPlain_message)(VgMsgKind kind ,   4071 extern UInt ( /* format attribute */  vgPlain_message)(VgMsgKind kind ,
4072                                                        HChar const   *format   4072                                                        HChar const   *format
4073                                                        , ...) ;   4073                                                        , ...) ;
4074 extern UInt ( /* format attribute */  vgPlain_vmessage)(VgMsgKind kind ,   4074 extern UInt ( /* format attribute */  vgPlain_vmessage)(VgMsgKind kind ,
4075                                                         HChar const   *format ,   4075                                                         HChar const   *format ,
4076                                                         va_list vargs ) ;   4076                                                         va_list vargs ) ;
4077 extern UInt ( /* format attribute */  vgPlain_fmsg)(HChar const   *format  , ...) ;   4077 extern UInt ( /* format attribute */  vgPlain_fmsg)(HChar const   *format  , ...) ;
4078 extern  __attribute__((__noreturn__)) void ( /* format attribute */  vgPlain_fmsg_bad_option)(HChar *opt ,   4078 extern  __attribute__((__noreturn__)) void ( /* format attribute */  vgPlain_fmsg_bad_option)(HChar *opt ,
4079                                                                                               HChar const   *format   4079                                                                                               HChar const   *format
4080                                                                                               , ...) ;   4080                                                                                               , ...) ;
4081 extern UInt ( /* format attribute */  vgPlain_umsg)(HChar const   *format  , ...) ;   4081 extern UInt ( /* format attribute */  vgPlain_umsg)(HChar const   *format  , ...) ;
4082 extern UInt ( /* format attribute */  vgPlain_dmsg)(HChar const   *format  , ...) ;   4082 extern UInt ( /* format attribute */  vgPlain_dmsg)(HChar const   *format  , ...) ;
4083 extern void vgPlain_message_flush(void) ;   4083 extern void vgPlain_message_flush(void) ;
4084 extern OutputSink vgPlain_log_output_sink ;   4084 extern OutputSink vgPlain_log_output_sink ;
4085 extern OutputSink vgPlain_xml_output_sink ;   4085 extern OutputSink vgPlain_xml_output_sink ;
4086 extern void vgPlain_elapsed_wallclock_time(HChar *buf ) ;   4086 extern void vgPlain_elapsed_wallclock_time(HChar *buf ) ;
4087 extern  __attribute__((__noreturn__)) void vgPlain_err_missing_prog(void) ;   4087 extern  __attribute__((__noreturn__)) void vgPlain_err_missing_prog(void) ;
4088 extern  __attribute__((__noreturn__)) void vgPlain_err_config_error(Char *msg ) ;   4088 extern  __attribute__((__noreturn__)) void vgPlain_err_config_error(Char *msg ) ;
4089 extern void *vgPlain_malloc(HChar *cc , SizeT nbytes ) ;   4089 extern void *vgPlain_malloc(HChar *cc , SizeT nbytes ) ;
4090 extern void vgPlain_free(void *p ) ;   4090 extern void vgPlain_free(void *p ) ;
4091 extern void *vgPlain_calloc(HChar *cc , SizeT n , SizeT bytes_per_elem ) ;   4091 extern void *vgPlain_calloc(HChar *cc , SizeT n , SizeT bytes_per_elem ) ;
4092 extern void *vgPlain_realloc(HChar *cc , void *p , SizeT size ) ;   4092 extern void *vgPlain_realloc(HChar *cc , void *p , SizeT size ) ;
4093 extern Char *vgPlain_strdup(HChar *cc , Char const   *s ) ;   4093 extern Char *vgPlain_strdup(HChar *cc , Char const   *s ) ;
4094 extern SizeT vgPlain_malloc_usable_size(void *p ) ;   4094 extern SizeT vgPlain_malloc_usable_size(void *p ) ;
4095 extern  __attribute__((__noreturn__)) void vgPlain_out_of_memory_NORETURN(HChar *who ,   4095 extern  __attribute__((__noreturn__)) void vgPlain_out_of_memory_NORETURN(HChar *who ,
4096                                                                           SizeT szB ) ;   4096                                                                           SizeT szB ) ;
4097 extern void *vgPlain_arena_malloc(ArenaId arena , HChar *cc , SizeT nbytes ) ;   4097 extern void *vgPlain_arena_malloc(ArenaId arena , HChar *cc , SizeT nbytes ) ;
4098 extern void vgPlain_arena_free(ArenaId arena , void *ptr ) ;   4098 extern void vgPlain_arena_free(ArenaId arena , void *ptr ) ;
4099 extern void *vgPlain_arena_calloc(ArenaId arena , HChar *cc , SizeT nmemb ,   4099 extern void *vgPlain_arena_calloc(ArenaId arena , HChar *cc , SizeT nmemb ,
4100                                   SizeT bytes_per_memb ) ;   4100                                   SizeT bytes_per_memb ) ;
4101 extern void *vgPlain_arena_realloc(ArenaId arena , HChar *cc , void *ptr ,   4101 extern void *vgPlain_arena_realloc(ArenaId arena , HChar *cc , void *ptr ,
4102                                    SizeT size ) ;   4102                                    SizeT size ) ;
4103 extern void *vgPlain_arena_memalign(ArenaId aid , HChar *cc , SizeT req_alignB ,   4103 extern void *vgPlain_arena_memalign(ArenaId aid , HChar *cc , SizeT req_alignB ,
4104                                     SizeT req_pszB ) ;   4104                                     SizeT req_pszB ) ;
4105 extern Char *vgPlain_arena_strdup(ArenaId aid , HChar *cc , Char const   *s ) ;   4105 extern Char *vgPlain_arena_strdup(ArenaId aid , HChar *cc , Char const   *s ) ;
4106 extern SizeT vgPlain_arena_malloc_usable_size(ArenaId aid , void *payload ) ;   4106 extern SizeT vgPlain_arena_malloc_usable_size(ArenaId aid , void *payload ) ;
4107 extern void vgPlain_mallinfo(ThreadId tid , struct vg_mallinfo *mi ) ;   4107 extern void vgPlain_mallinfo(ThreadId tid , struct vg_mallinfo *mi ) ;
4108 extern void vgPlain_sanity_check_malloc_all(void) ;   4108 extern void vgPlain_sanity_check_malloc_all(void) ;
4109 extern void vgPlain_print_all_arena_stats(void) ;   4109 extern void vgPlain_print_all_arena_stats(void) ;
4110 extern void vgPlain_print_arena_cc_analysis(void) ;   4110 extern void vgPlain_print_arena_cc_analysis(void) ;
4111 extern SysRes vgPlain_do_syscall(UWord sysno , UWord  , UWord  , UWord  ,   4111 extern SysRes vgPlain_do_syscall(UWord sysno , UWord  , UWord  , UWord  ,
4112                                  UWord  , UWord  , UWord  , UWord  , UWord  ) ;   4112                                  UWord  , UWord  , UWord  , UWord  , UWord  ) ;
4113 extern SysRes vgPlain_mk_SysRes_x86_linux(Int val ) ;   4113 extern SysRes vgPlain_mk_SysRes_x86_linux(Int val ) ;
4114 extern SysRes vgPlain_mk_SysRes_amd64_linux(Long val ) ;   4114 extern SysRes vgPlain_mk_SysRes_amd64_linux(Long val ) ;
4115 extern SysRes vgPlain_mk_SysRes_ppc32_linux(UInt val , UInt cr0so ) ;   4115 extern SysRes vgPlain_mk_SysRes_ppc32_linux(UInt val , UInt cr0so ) ;
4116 extern SysRes vgPlain_mk_SysRes_ppc64_linux(ULong val , ULong cr0so ) ;   4116 extern SysRes vgPlain_mk_SysRes_ppc64_linux(ULong val , ULong cr0so ) ;
4117 extern SysRes vgPlain_mk_SysRes_arm_linux(Int val ) ;   4117 extern SysRes vgPlain_mk_SysRes_arm_linux(Int val ) ;
4118 extern SysRes vgPlain_mk_SysRes_ppc32_aix5(UInt val , UInt err ) ;   4118 extern SysRes vgPlain_mk_SysRes_ppc32_aix5(UInt val , UInt err ) ;
4119 extern SysRes vgPlain_mk_SysRes_ppc64_aix5(ULong val , ULong err ) ;   4119 extern SysRes vgPlain_mk_SysRes_ppc64_aix5(ULong val , ULong err ) ;
4120 extern SysRes vgPlain_mk_SysRes_x86_darwin(UChar scclass , Bool isErr ,   4120 extern SysRes vgPlain_mk_SysRes_x86_darwin(UChar scclass , Bool isErr ,
4121                                            UInt wHI , UInt wLO ) ;   4121                                            UInt wHI , UInt wLO ) ;
4122 extern SysRes vgPlain_mk_SysRes_amd64_darwin(UChar scclass , Bool isErr ,   4122 extern SysRes vgPlain_mk_SysRes_amd64_darwin(UChar scclass , Bool isErr ,
4123                                              ULong wHI , ULong wLO ) ;   4123                                              ULong wHI , ULong wLO ) ;
4124 extern SysRes vgPlain_mk_SysRes_s390x_linux(Long val ) ;   4124 extern SysRes vgPlain_mk_SysRes_s390x_linux(Long val ) ;
4125 extern SysRes vgPlain_mk_SysRes_Error(UWord val ) ;   4125 extern SysRes vgPlain_mk_SysRes_Error(UWord val ) ;
4126 extern SysRes vgPlain_mk_SysRes_Success(UWord val ) ;   4126 extern SysRes vgPlain_mk_SysRes_Success(UWord val ) ;
4127 extern HChar const   *vgPlain_strerror(UWord errnum ) ;   4127 extern HChar const   *vgPlain_strerror(UWord errnum ) ;
4128 extern Char **vgPlain_client_envp ;   4128 extern Char **vgPlain_client_envp ;
4129 extern Char *vgPlain_getenv(Char *name ) ;   4129 extern Char *vgPlain_getenv(Char *name ) ;
4130 extern Char const   *vgPlain_libdir ;   4130 extern Char const   *vgPlain_libdir ;
4131 extern Char const   *vgPlain_LD_PRELOAD_var_name ;   4131 extern Char const   *vgPlain_LD_PRELOAD_var_name ;
4132 extern Int vgPlain_waitpid(Int pid , Int *status , Int options ) ;   4132 extern Int vgPlain_waitpid(Int pid , Int *status , Int options ) ;
4133 extern Int vgPlain_system(Char *cmd ) ;   4133 extern Int vgPlain_system(Char *cmd ) ;
4134 extern Int vgPlain_fork(void) ;   4134 extern Int vgPlain_fork(void) ;
4135 extern void vgPlain_execv(Char *filename , Char **argv ) ;   4135 extern void vgPlain_execv(Char *filename , Char **argv ) ;
4136 extern Int vgPlain_getrlimit(Int resource , struct vki_rlimit *rlim ) ;   4136 extern Int vgPlain_getrlimit(Int resource , struct vki_rlimit *rlim ) ;
4137 extern Int vgPlain_setrlimit(Int resource , struct vki_rlimit  const  *rlim ) ;   4137 extern Int vgPlain_setrlimit(Int resource , struct vki_rlimit  const  *rlim ) ;
4138 extern Int vgPlain_prctl(Int option , ULong arg2 , ULong arg3 , ULong arg4 ,   4138 extern Int vgPlain_prctl(Int option , ULong arg2 , ULong arg3 , ULong arg4 ,
4139                          ULong arg5 ) ;   4139                          ULong arg5 ) ;
4140 extern Int vgPlain_gettid(void) ;   4140 extern Int vgPlain_gettid(void) ;
4141 extern Int vgPlain_getpid(void) ;   4141 extern Int vgPlain_getpid(void) ;
4142 extern Int vgPlain_getppid(void) ;   4142 extern Int vgPlain_getppid(void) ;
4143 extern Int vgPlain_getpgrp(void) ;   4143 extern Int vgPlain_getpgrp(void) ;
4144 extern Int vgPlain_geteuid(void) ;   4144 extern Int vgPlain_geteuid(void) ;
4145 extern Int vgPlain_getegid(void) ;   4145 extern Int vgPlain_getegid(void) ;
4146 extern UInt vgPlain_read_millisecond_timer(void) ;   4146 extern UInt vgPlain_read_millisecond_timer(void) ;
4147 extern void vgPlain_atfork(void (*pre)(ThreadId  ) ,   4147 extern void vgPlain_atfork(void (*pre)(ThreadId  ) ,
4148                            void (*parent)(ThreadId  ) ,   4148                            void (*parent)(ThreadId  ) ,
4149                            void (*child)(ThreadId  ) ) ;   4149                            void (*child)(ThreadId  ) ) ;
4150 extern void (*vgPlain_tl_pre_clo_init)(void) ;   4150 extern void (*vgPlain_tl_pre_clo_init)(void) ;
4151 extern void vgPlain_basic_tool_funcs(void (*post_clo_init)(void) ,   4151 extern void vgPlain_basic_tool_funcs(void (*post_clo_init)(void) ,
4152                                      IRSB *(*instrument)(VgCallbackClosure *closure ,   4152                                      IRSB *(*instrument)(VgCallbackClosure *closure ,
4153                                                          IRSB *sb_in ,   4153                                                          IRSB *sb_in ,
4154                                                          VexGuestLayout *layout ,   4154                                                          VexGuestLayout *layout ,
4155                                                          VexGuestExtents *vge ,   4155                                                          VexGuestExtents *vge ,
4156                                                          IRType gWordTy ,   4156                                                          IRType gWordTy ,
4157                                                          IRType hWordTy ) ,   4157                                                          IRType hWordTy ) ,
4158                                      void (*fini)(Int  ) ) ;   4158                                      void (*fini)(Int  ) ) ;
4159 extern void vgPlain_details_name(Char *name ) ;   4159 extern void vgPlain_details_name(Char *name ) ;
4160 extern void vgPlain_details_version(Char *version ) ;   4160 extern void vgPlain_details_version(Char *version ) ;
4161 extern void vgPlain_details_description(Char *description ) ;   4161 extern void vgPlain_details_description(Char *description ) ;
4162 extern void vgPlain_details_copyright_author(Char *copyright_author ) ;   4162 extern void vgPlain_details_copyright_author(Char *copyright_author ) ;
4163 extern void vgPlain_details_avg_translation_sizeB(UInt size ) ;   4163 extern void vgPlain_details_avg_translation_sizeB(UInt size ) ;
4164 extern void vgPlain_details_bug_reports_to(Char *bug_reports_to ) ;   4164 extern void vgPlain_details_bug_reports_to(Char *bug_reports_to ) ;
4165 extern void vgPlain_needs_libc_freeres(void) ;   4165 extern void vgPlain_needs_libc_freeres(void) ;
4166 extern void vgPlain_needs_core_errors(void) ;   4166 extern void vgPlain_needs_core_errors(void) ;
4167 extern void vgPlain_needs_tool_errors(Bool (*eq_Error)(VgRes res , Error *e1 ,   4167 extern void vgPlain_needs_tool_errors(Bool (*eq_Error)(VgRes res , Error *e1 ,
4168                                                        Error *e2 ) ,   4168                                                        Error *e2 ) ,
4169                                       void (*before_pp_Error)(Error *err ) ,   4169                                       void (*before_pp_Error)(Error *err ) ,
4170                                       void (*pp_Error)(Error *err ) ,   4170                                       void (*pp_Error)(Error *err ) ,
4171                                       Bool show_ThreadIDs_for_errors ,   4171                                       Bool show_ThreadIDs_for_errors ,
4172                                       UInt (*update_extra)(Error *err ) ,   4172                                       UInt (*update_extra)(Error *err ) ,
4173                                       Bool (*recognised_suppression)(Char *name ,   4173                                       Bool (*recognised_suppression)(Char *name ,
4174                                                                      Supp *su ) ,   4174                                                                      Supp *su ) ,
4175                                       Bool (*read_extra_suppression_info)(Int fd ,   4175                                       Bool (*read_extra_suppression_info)(Int fd ,
4176                                                                           Char **bufpp ,   4176                                                                           Char **bufpp ,
4177                                                                           SizeT *nBufp ,   4177                                                                           SizeT *nBufp ,
4178                                                                           Supp *su ) ,   4178                                                                           Supp *su ) ,
4179                                       Bool (*error_matches_suppression)(Error *err ,   4179                                       Bool (*error_matches_suppression)(Error *err ,
4180                                                                         Supp *su ) ,   4180                                                                         Supp *su ) ,
4181                                       Char *(*get_error_name)(Error *err ) ,   4181                                       Char *(*get_error_name)(Error *err ) ,
4182                                       Bool (*print_extra_suppression_info)(Error *err ,   4182                                       Bool (*print_extra_suppression_info)(Error *err ,
4183                                                                            Char *buf ,   4183                                                                            Char *buf ,
4184                                                                            Int nBuf ) ) ;   4184                                                                            Int nBuf ) ) ;
4185 extern void vgPlain_needs_superblock_discards(void (*discard_superblock_info)(Addr64 orig_addr ,   4185 extern void vgPlain_needs_superblock_discards(void (*discard_superblock_info)(Addr64 orig_addr ,
4186                                                                               VexGuestExtents extents ) ) ;   4186                                                                               VexGuestExtents extents ) ) ;
4187 extern void vgPlain_needs_command_line_options(Bool (*process_cmd_line_option)(Char *argv ) ,   4187 extern void vgPlain_needs_command_line_options(Bool (*process_cmd_line_option)(Char *argv ) ,
4188                                                void (*print_usage)(void) ,   4188                                                void (*print_usage)(void) ,
4189                                                void (*print_debug_usage)(void) ) ;   4189                                                void (*print_debug_usage)(void) ) ;
4190 extern void vgPlain_needs_client_requests(Bool (*handle_client_request)(ThreadId tid ,   4190 extern void vgPlain_needs_client_requests(Bool (*handle_client_request)(ThreadId tid ,
4191                                                                         UWord *arg_block ,   4191                                                                         UWord *arg_block ,
4192                                                                         UWord *ret ) ) ;   4192                                                                         UWord *ret ) ) ;
4193 extern void vgPlain_needs_syscall_wrapper(void (*pre_syscall)(ThreadId tid ,   4193 extern void vgPlain_needs_syscall_wrapper(void (*pre_syscall)(ThreadId tid ,
4194                                                               UInt syscallno ,   4194                                                               UInt syscallno ,
4195                                                               UWord *args ,   4195                                                               UWord *args ,
4196                                                               UInt nArgs ) ,   4196                                                               UInt nArgs ) ,
4197                                           void (*post_syscall)(ThreadId tid ,   4197                                           void (*post_syscall)(ThreadId tid ,
4198                                                                UInt syscallno ,   4198                                                                UInt syscallno ,
4199                                                                UWord *args ,   4199                                                                UWord *args ,
4200                                                                UInt nArgs ,   4200                                                                UInt nArgs ,
4201                                                                SysRes res ) ) ;   4201                                                                SysRes res ) ) ;
4202 extern void vgPlain_needs_sanity_checks(Bool (*cheap_sanity_check)(void) ,   4202 extern void vgPlain_needs_sanity_checks(Bool (*cheap_sanity_check)(void) ,
4203                                         Bool (*expensive_sanity_check)(void) ) ;   4203                                         Bool (*expensive_sanity_check)(void) ) ;
4204 extern void vgPlain_needs_var_info(void) ;   4204 extern void vgPlain_needs_var_info(void) ;
4205 extern void vgPlain_needs_malloc_replacement(void *(*pmalloc)(ThreadId tid ,   4205 extern void vgPlain_needs_malloc_replacement(void *(*pmalloc)(ThreadId tid ,
4206                                                               SizeT n ) ,   4206                                                               SizeT n ) ,
4207                                              void *(*p__builtin_new)(ThreadId tid ,   4207                                              void *(*p__builtin_new)(ThreadId tid ,
4208                                                                      SizeT n ) ,   4208                                                                      SizeT n ) ,
4209                                              void *(*p__builtin_vec_new)(ThreadId tid ,   4209                                              void *(*p__builtin_vec_new)(ThreadId tid ,
4210                                                                          SizeT n ) ,   4210                                                                          SizeT n ) ,
4211                                              void *(*pmemalign)(ThreadId tid ,   4211                                              void *(*pmemalign)(ThreadId tid ,
4212                                                                 SizeT align ,   4212                                                                 SizeT align ,
4213                                                                 SizeT n ) ,   4213                                                                 SizeT n ) ,
4214                                              void *(*pcalloc)(ThreadId tid ,   4214                                              void *(*pcalloc)(ThreadId tid ,
4215                                                               SizeT nmemb ,   4215                                                               SizeT nmemb ,
4216                                                               SizeT size1 ) ,   4216                                                               SizeT size1 ) ,
4217                                              void (*pfree)(ThreadId tid ,   4217                                              void (*pfree)(ThreadId tid ,
4218                                                            void *p ) ,   4218                                                            void *p ) ,
4219                                              void (*p__builtin_delete)(ThreadId tid ,   4219                                              void (*p__builtin_delete)(ThreadId tid ,
4220                                                                        void *p ) ,   4220                                                                        void *p ) ,
4221                                              void (*p__builtin_vec_delete)(ThreadId tid ,   4221                                              void (*p__builtin_vec_delete)(ThreadId tid ,
4222                                                                            void *p ) ,   4222                                                                            void *p ) ,
4223                                              void *(*prealloc)(ThreadId tid ,   4223                                              void *(*prealloc)(ThreadId tid ,
4224                                                                void *p ,   4224                                                                void *p ,
4225                                                                SizeT new_size ) ,   4225                                                                SizeT new_size ) ,
4226                                              SizeT (*pmalloc_usable_size)(ThreadId tid ,   4226                                              SizeT (*pmalloc_usable_size)(ThreadId tid ,
4227                                                                           void *p ) ,   4227                                                                           void *p ) ,
4228                                              SizeT client_malloc_redzone_szB ) ;   4228                                              SizeT client_malloc_redzone_szB ) ;
4229 extern void vgPlain_needs_xml_output(void) ;   4229 extern void vgPlain_needs_xml_output(void) ;
4230 extern void vgPlain_needs_final_IR_tidy_pass(IRSB *(*final_tidy)(IRSB * ) ) ;   4230 extern void vgPlain_needs_final_IR_tidy_pass(IRSB *(*final_tidy)(IRSB * ) ) ;
4231 extern void vgPlain_track_new_mem_startup(void (*f)(Addr a , SizeT len ,   4231 extern void vgPlain_track_new_mem_startup(void (*f)(Addr a , SizeT len ,
4232                                                     Bool rr , Bool ww ,   4232                                                     Bool rr , Bool ww ,
4233                                                     Bool xx , ULong di_handle ) ) ;   4233                                                     Bool xx , ULong di_handle ) ) ;
4234 extern void vgPlain_track_new_mem_stack_signal(void (*f)(Addr a , SizeT len ,   4234 extern void vgPlain_track_new_mem_stack_signal(void (*f)(Addr a , SizeT len ,
4235                                                          ThreadId tid ) ) ;   4235                                                          ThreadId tid ) ) ;
4236 extern void vgPlain_track_new_mem_brk(void (*f)(Addr a , SizeT len ,   4236 extern void vgPlain_track_new_mem_brk(void (*f)(Addr a , SizeT len ,
4237                                                 ThreadId tid ) ) ;   4237                                                 ThreadId tid ) ) ;
4238 extern void vgPlain_track_new_mem_mmap(void (*f)(Addr a , SizeT len , Bool rr ,   4238 extern void vgPlain_track_new_mem_mmap(void (*f)(Addr a , SizeT len , Bool rr ,
4239                                                  Bool ww , Bool xx ,   4239                                                  Bool ww , Bool xx ,
4240                                                  ULong di_handle ) ) ;   4240                                                  ULong di_handle ) ) ;
4241 extern void vgPlain_track_copy_mem_remap(void (*f)(Addr from , Addr to ,   4241 extern void vgPlain_track_copy_mem_remap(void (*f)(Addr from , Addr to ,
4242                                                    SizeT len ) ) ;   4242                                                    SizeT len ) ) ;
4243 extern void vgPlain_track_change_mem_mprotect(void (*f)(Addr a , SizeT len ,   4243 extern void vgPlain_track_change_mem_mprotect(void (*f)(Addr a , SizeT len ,
4244                                                         Bool rr , Bool ww ,   4244                                                         Bool rr , Bool ww ,
4245                                                         Bool xx ) ) ;   4245                                                         Bool xx ) ) ;
4246 extern void vgPlain_track_die_mem_stack_signal(void (*f)(Addr a , SizeT len ) ) ;   4246 extern void vgPlain_track_die_mem_stack_signal(void (*f)(Addr a , SizeT len ) ) ;
4247 extern void vgPlain_track_die_mem_brk(void (*f)(Addr a , SizeT len ) ) ;   4247 extern void vgPlain_track_die_mem_brk(void (*f)(Addr a , SizeT len ) ) ;
4248 extern void vgPlain_track_die_mem_munmap(void (*f)(Addr a , SizeT len ) ) ;   4248 extern void vgPlain_track_die_mem_munmap(void (*f)(Addr a , SizeT len ) ) ;
4249 extern void vgPlain_track_new_mem_stack_4_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4249 extern void vgPlain_track_new_mem_stack_4_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4250                                                                                              UInt ecu ) ) ;   4250                                                                                              UInt ecu ) ) ;
4251 extern void vgPlain_track_new_mem_stack_8_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4251 extern void vgPlain_track_new_mem_stack_8_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4252                                                                                              UInt ecu ) ) ;   4252                                                                                              UInt ecu ) ) ;
4253 extern void vgPlain_track_new_mem_stack_12_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4253 extern void vgPlain_track_new_mem_stack_12_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4254                                                                                               UInt ecu ) ) ;   4254                                                                                               UInt ecu ) ) ;
4255 extern void vgPlain_track_new_mem_stack_16_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4255 extern void vgPlain_track_new_mem_stack_16_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4256                                                                                               UInt ecu ) ) ;   4256                                                                                               UInt ecu ) ) ;
4257 extern void vgPlain_track_new_mem_stack_32_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4257 extern void vgPlain_track_new_mem_stack_32_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4258                                                                                               UInt ecu ) ) ;   4258                                                                                               UInt ecu ) ) ;
4259 extern void vgPlain_track_new_mem_stack_112_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4259 extern void vgPlain_track_new_mem_stack_112_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4260                                                                                                UInt ecu ) ) ;   4260                                                                                                UInt ecu ) ) ;
4261 extern void vgPlain_track_new_mem_stack_128_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4261 extern void vgPlain_track_new_mem_stack_128_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4262                                                                                                UInt ecu ) ) ;   4262                                                                                                UInt ecu ) ) ;
4263 extern void vgPlain_track_new_mem_stack_144_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4263 extern void vgPlain_track_new_mem_stack_144_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4264                                                                                                UInt ecu ) ) ;   4264                                                                                                UInt ecu ) ) ;
4265 extern void vgPlain_track_new_mem_stack_160_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,   4265 extern void vgPlain_track_new_mem_stack_160_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP ,
4266                                                                                                UInt ecu ) ) ;   4266                                                                                                UInt ecu ) ) ;
4267 extern void vgPlain_track_new_mem_stack_w_ECU(void (*f)(Addr a , SizeT len ,   4267 extern void vgPlain_track_new_mem_stack_w_ECU(void (*f)(Addr a , SizeT len ,
4268                                                         UInt ecu ) ) ;   4268                                                         UInt ecu ) ) ;
4269 extern void vgPlain_track_new_mem_stack_4(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4269 extern void vgPlain_track_new_mem_stack_4(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4270 extern void vgPlain_track_new_mem_stack_8(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4270 extern void vgPlain_track_new_mem_stack_8(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4271 extern void vgPlain_track_new_mem_stack_12(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4271 extern void vgPlain_track_new_mem_stack_12(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4272 extern void vgPlain_track_new_mem_stack_16(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4272 extern void vgPlain_track_new_mem_stack_16(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4273 extern void vgPlain_track_new_mem_stack_32(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4273 extern void vgPlain_track_new_mem_stack_32(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4274 extern void vgPlain_track_new_mem_stack_112(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4274 extern void vgPlain_track_new_mem_stack_112(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4275 extern void vgPlain_track_new_mem_stack_128(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4275 extern void vgPlain_track_new_mem_stack_128(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4276 extern void vgPlain_track_new_mem_stack_144(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4276 extern void vgPlain_track_new_mem_stack_144(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4277 extern void vgPlain_track_new_mem_stack_160(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;   4277 extern void vgPlain_track_new_mem_stack_160(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ;
4278 extern void vgPlain_track_new_mem_stack(void (*f)(Addr a , SizeT len ) ) ;   4278 extern void vgPlain_track_new_mem_stack(void (*f)(Addr a , SizeT len ) ) ;
4279 extern void vgPlain_track_die_mem_stack_4(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4279 extern void vgPlain_track_die_mem_stack_4(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4280 extern void vgPlain_track_die_mem_stack_8(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4280 extern void vgPlain_track_die_mem_stack_8(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4281 extern void vgPlain_track_die_mem_stack_12(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4281 extern void vgPlain_track_die_mem_stack_12(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4282 extern void vgPlain_track_die_mem_stack_16(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4282 extern void vgPlain_track_die_mem_stack_16(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4283 extern void vgPlain_track_die_mem_stack_32(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4283 extern void vgPlain_track_die_mem_stack_32(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4284 extern void vgPlain_track_die_mem_stack_112(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4284 extern void vgPlain_track_die_mem_stack_112(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4285 extern void vgPlain_track_die_mem_stack_128(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4285 extern void vgPlain_track_die_mem_stack_128(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4286 extern void vgPlain_track_die_mem_stack_144(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4286 extern void vgPlain_track_die_mem_stack_144(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4287 extern void vgPlain_track_die_mem_stack_160(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;   4287 extern void vgPlain_track_die_mem_stack_160(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ;
4288 extern void vgPlain_track_die_mem_stack(void (*f)(Addr a , SizeT len ) ) ;   4288 extern void vgPlain_track_die_mem_stack(void (*f)(Addr a , SizeT len ) ) ;
4289 extern void vgPlain_track_ban_mem_stack(void (*f)(Addr a , SizeT len ) ) ;   4289 extern void vgPlain_track_ban_mem_stack(void (*f)(Addr a , SizeT len ) ) ;
4290 extern void vgPlain_track_pre_mem_read(void (*f)(CorePart part , ThreadId tid ,   4290 extern void vgPlain_track_pre_mem_read(void (*f)(CorePart part , ThreadId tid ,
4291                                                  Char *s , Addr a , SizeT size ) ) ;   4291                                                  Char *s , Addr a , SizeT size ) ) ;
4292 extern void vgPlain_track_pre_mem_read_asciiz(void (*f)(CorePart part ,   4292 extern void vgPlain_track_pre_mem_read_asciiz(void (*f)(CorePart part ,
4293                                                         ThreadId tid , Char *s ,   4293                                                         ThreadId tid , Char *s ,
4294                                                         Addr a ) ) ;   4294                                                         Addr a ) ) ;
4295 extern void vgPlain_track_pre_mem_write(void (*f)(CorePart part , ThreadId tid ,   4295 extern void vgPlain_track_pre_mem_write(void (*f)(CorePart part , ThreadId tid ,
4296                                                   Char *s , Addr a , SizeT size ) ) ;   4296                                                   Char *s , Addr a , SizeT size ) ) ;
4297 extern void vgPlain_track_post_mem_write(void (*f)(CorePart part ,   4297 extern void vgPlain_track_post_mem_write(void (*f)(CorePart part ,
4298                                                    ThreadId tid , Addr a ,   4298                                                    ThreadId tid , Addr a ,
4299                                                    SizeT size ) ) ;   4299                                                    SizeT size ) ) ;
4300 extern void vgPlain_track_pre_reg_read(void (*f)(CorePart part , ThreadId tid ,   4300 extern void vgPlain_track_pre_reg_read(void (*f)(CorePart part , ThreadId tid ,
4301                                                  Char *s ,   4301                                                  Char *s ,
4302                                                  PtrdiffT guest_state_offset ,   4302                                                  PtrdiffT guest_state_offset ,
4303                                                  SizeT size ) ) ;   4303                                                  SizeT size ) ) ;
4304 extern void vgPlain_track_post_reg_write(void (*f)(CorePart part ,   4304 extern void vgPlain_track_post_reg_write(void (*f)(CorePart part ,
4305                                                    ThreadId tid ,   4305                                                    ThreadId tid ,
4306                                                    PtrdiffT guest_state_offset ,   4306                                                    PtrdiffT guest_state_offset ,
4307                                                    SizeT size ) ) ;   4307                                                    SizeT size ) ) ;
4308 extern void vgPlain_track_post_reg_write_clientcall_return(void (*f)(ThreadId tid ,   4308 extern void vgPlain_track_post_reg_write_clientcall_return(void (*f)(ThreadId tid ,
4309                                                                      PtrdiffT guest_state_offset ,   4309                                                                      PtrdiffT guest_state_offset ,
4310                                                                      SizeT size ,   4310                                                                      SizeT size ,
4311                                                                      Addr f ) ) ;   4311                                                                      Addr f ) ) ;
4312 extern void vgPlain_track_start_client_code(void (*f)(ThreadId tid ,   4312 extern void vgPlain_track_start_client_code(void (*f)(ThreadId tid ,
4313                                                       ULong blocks_dispatched ) ) ;   4313                                                       ULong blocks_dispatched ) ) ;
4314 extern void vgPlain_track_stop_client_code(void (*f)(ThreadId tid ,   4314 extern void vgPlain_track_stop_client_code(void (*f)(ThreadId tid ,
4315                                                      ULong blocks_dispatched ) ) ;   4315                                                      ULong blocks_dispatched ) ) ;
4316 extern void vgPlain_track_pre_thread_ll_create(void (*f)(ThreadId tid ,   4316 extern void vgPlain_track_pre_thread_ll_create(void (*f)(ThreadId tid ,
4317                                                          ThreadId child ) ) ;   4317                                                          ThreadId child ) ) ;
4318 extern void vgPlain_track_pre_thread_first_insn(void (*f)(ThreadId tid ) ) ;   4318 extern void vgPlain_track_pre_thread_first_insn(void (*f)(ThreadId tid ) ) ;
4319 extern void vgPlain_track_pre_thread_ll_exit(void (*f)(ThreadId tid ) ) ;   4319 extern void vgPlain_track_pre_thread_ll_exit(void (*f)(ThreadId tid ) ) ;
4320 extern void vgPlain_track_pre_deliver_signal(void (*f)(ThreadId tid ,   4320 extern void vgPlain_track_pre_deliver_signal(void (*f)(ThreadId tid ,
4321                                                        Int sigNo ,   4321                                                        Int sigNo ,
4322                                                        Bool alt_stack ) ) ;   4322                                                        Bool alt_stack ) ) ;
4323 extern void vgPlain_track_post_deliver_signal(void (*f)(ThreadId tid ,   4323 extern void vgPlain_track_post_deliver_signal(void (*f)(ThreadId tid ,
4324                                                         Int sigNo ) ) ;   4324                                                         Int sigNo ) ) ;
4325 extern VgDetails vgPlain_details ;   4325 extern VgDetails vgPlain_details ;
4326 extern VgNeeds vgPlain_needs ;   4326 extern VgNeeds vgPlain_needs ;
4327 extern VgToolInterface vgPlain_tdict ;   4327 extern VgToolInterface vgPlain_tdict ;
4328 extern Bool vgPlain_sanity_check_needs(Char **failmsg ) ;   4328 extern Bool vgPlain_sanity_check_needs(Char **failmsg ) ;
4329 extern Bool vgPlain_isspace(Char c ) ;   4329 extern Bool vgPlain_isspace(Char c ) ;
4330 extern Bool vgPlain_isdigit(Char c ) ;   4330 extern Bool vgPlain_isdigit(Char c ) ;
4331 extern Char vgPlain_tolower(Char c ) ;   4331 extern Char vgPlain_tolower(Char c ) ;
4332 extern Long vgPlain_strtoll10(Char *str , Char **endptr ) ;   4332 extern Long vgPlain_strtoll10(Char *str , Char **endptr ) ;
4333 extern Long vgPlain_strtoll16(Char *str , Char **endptr ) ;   4333 extern Long vgPlain_strtoll16(Char *str , Char **endptr ) ;
4334 extern ULong vgPlain_strtoull10(Char *str , Char **endptr ) ;   4334 extern ULong vgPlain_strtoull10(Char *str , Char **endptr ) ;
4335 extern ULong vgPlain_strtoull16(Char *str , Char **endptr ) ;   4335 extern ULong vgPlain_strtoull16(Char *str , Char **endptr ) ;
4336 extern double vgPlain_strtod(Char *str , Char **endptr ) ;   4336 extern double vgPlain_strtod(Char *str , Char **endptr ) ;
4337 extern SizeT vgPlain_strlen(Char const   *str ) ;   4337 extern SizeT vgPlain_strlen(Char const   *str ) ;
4338 extern Char *vgPlain_strcat(Char *dest , Char const   *src ) ;   4338 extern Char *vgPlain_strcat(Char *dest , Char const   *src ) ;
4339 extern Char *vgPlain_strncat(Char *dest , Char const   *src , SizeT n ) ;   4339 extern Char *vgPlain_strncat(Char *dest , Char const   *src , SizeT n ) ;
4340 extern Char *vgPlain_strpbrk(Char const   *s , Char const   *accpt ) ;   4340 extern Char *vgPlain_strpbrk(Char const   *s , Char const   *accpt ) ;
4341 extern Char *vgPlain_strcpy(Char *dest , Char const   *src ) ;   4341 extern Char *vgPlain_strcpy(Char *dest , Char const   *src ) ;
4342 extern Char *vgPlain_strncpy(Char *dest , Char const   *src , SizeT ndest ) ;   4342 extern Char *vgPlain_strncpy(Char *dest , Char const   *src , SizeT ndest ) ;
4343 extern Int vgPlain_strcmp(Char const   *s1 , Char const   *s2 ) ;   4343 extern Int vgPlain_strcmp(Char const   *s1 , Char const   *s2 ) ;
4344 extern Int vgPlain_strcasecmp(Char const   *s1 , Char const   *s2 ) ;   4344 extern Int vgPlain_strcasecmp(Char const   *s1 , Char const   *s2 ) ;
4345 extern Int vgPlain_strncmp(Char const   *s1 , Char const   *s2 , SizeT nmax ) ;   4345 extern Int vgPlain_strncmp(Char const   *s1 , Char const   *s2 , SizeT nmax ) ;
4346 extern Int vgPlain_strncasecmp(Char const   *s1 , Char const   *s2 , SizeT nmax ) ;   4346 extern Int vgPlain_strncasecmp(Char const   *s1 , Char const   *s2 , SizeT nmax ) ;
4347 extern Char *vgPlain_strstr(Char const   *haystack , Char *needle ) ;   4347 extern Char *vgPlain_strstr(Char const   *haystack , Char *needle ) ;
4348 extern Char *vgPlain_strcasestr(Char const   *haystack , Char *needle ) ;   4348 extern Char *vgPlain_strcasestr(Char const   *haystack , Char *needle ) ;
4349 extern Char *vgPlain_strchr(Char const   *s , Char c ) ;   4349 extern Char *vgPlain_strchr(Char const   *s , Char c ) ;
4350 extern Char *vgPlain_strrchr(Char const   *s , Char c ) ;   4350 extern Char *vgPlain_strrchr(Char const   *s , Char c ) ;
4351 extern SizeT vgPlain_strspn(Char const   *s , Char const   *accpt ) ;   4351 extern SizeT vgPlain_strspn(Char const   *s , Char const   *accpt ) ;
4352 extern SizeT vgPlain_strcspn(Char const   *s , char const   *reject ) ;   4352 extern SizeT vgPlain_strcspn(Char const   *s , char const   *reject ) ;
4353 extern Char *vgPlain_strtok_r(Char *s , Char const   *delim , Char **saveptr ) ;   4353 extern Char *vgPlain_strtok_r(Char *s , Char const   *delim , Char **saveptr ) ;
4354 extern Char *vgPlain_strtok(Char *s , Char const   *delim ) ;   4354 extern Char *vgPlain_strtok(Char *s , Char const   *delim ) ;
4355 extern Bool vgPlain_parse_Addr(UChar **ppc , Addr *result ) ;   4355 extern Bool vgPlain_parse_Addr(UChar **ppc , Addr *result ) ;
4356 extern void vgPlain_strncpy_safely(Char *dest , Char const   *src , SizeT ndest ) ;   4356 extern void vgPlain_strncpy_safely(Char *dest , Char const   *src , SizeT ndest ) ;
4357 extern void *vgPlain_memcpy(void *d , void const   *s , SizeT sz ) ;   4357 extern void *vgPlain_memcpy(void *d , void const   *s , SizeT sz ) ;
4358 extern void *vgPlain_memmove(void *d , void const   *s , SizeT sz ) ;   4358 extern void *vgPlain_memmove(void *d , void const   *s , SizeT sz ) ;
4359 extern void *vgPlain_memset(void *s , Int c , SizeT sz ) ;   4359 extern void *vgPlain_memset(void *s , Int c , SizeT sz ) ;
4360 extern Int vgPlain_memcmp(void const   *s1 , void const   *s2 , SizeT n ) ;   4360 extern Int vgPlain_memcmp(void const   *s1 , void const   *s2 , SizeT n ) ;
4361 __inline static void ( __attribute__((__always_inline__)) vgPlain_bzero_inline)(void *s ,   4361 __inline static void ( __attribute__((__always_inline__)) vgPlain_bzero_inline)(void *s ,
4362                                                                                 SizeT sz )   4362                                                                                 SizeT sz )
4363 {   4363 {
4364   UWord *p ;   4364   UWord *p ;
4365   UWord tmp ;   4365   UWord tmp ;
4366   UWord tmp___0 ;   4366   UWord tmp___0 ;
4367   UWord tmp___1 ;   4367   UWord tmp___1 ;
4368   UWord tmp___2 ;   4368   UWord tmp___2 ;
4369   UWord tmp___3 ;   4369   UWord tmp___3 ;
4370   UWord tmp___4 ;   4370   UWord tmp___4 ;
4371   UWord tmp___5 ;   4371   UWord tmp___5 ;
4372   UWord tmp___6 ;   4372   UWord tmp___6 ;
4373   UWord tmp___7 ;   4373   UWord tmp___7 ;
4374   UWord tmp___8 ;   4374   UWord tmp___8 ;
4375   UWord tmp___9 ;   4375   UWord tmp___9 ;
4376   UWord tmp___10 ;   4376   UWord tmp___10 ;
4377   UWord tmp___11 ;   4377   UWord tmp___11 ;
4378   UWord tmp___12 ;   4378   UWord tmp___12 ;
4379   UWord tmp___13 ;   4379   UWord tmp___13 ;
4380   UWord tmp___14 ;   4380   UWord tmp___14 ;
4381   UWord tmp___15 ;   4381   UWord tmp___15 ;
4382   UWord tmp___16 ;   4382   UWord tmp___16 ;
4383   UWord tmp___17 ;   4383   UWord tmp___17 ;
4384   UWord tmp___18 ;   4384   UWord tmp___18 ;
4385   UWord tmp___19 ;   4385   UWord tmp___19 ;
4386   UWord tmp___20 ;   4386   UWord tmp___20 ;
4387   UWord tmp___21 ;   4387   UWord tmp___21 ;
4388   UWord tmp___22 ;   4388   UWord tmp___22 ;
4389   UWord tmp___23 ;   4389   UWord tmp___23 ;
4390   UWord tmp___24 ;   4390   UWord tmp___24 ;
4391   UWord tmp___25 ;   4391   UWord tmp___25 ;
4392   UWord tmp___26 ;   4392   UWord tmp___26 ;
4393   long tmp___27 ;   4393   long tmp___27 ;
4394   long tmp___28 ;   4394   long tmp___28 ;
4395     4395  
4396   {   4396   {
4397   tmp___27 = __builtin_expect((long )(! (! (0UL == (sz & (Addr )(sizeof(UWord ) - 1U))))),   4397   tmp___27 = __builtin_expect((long )(! (! (0UL == (sz & (Addr )(sizeof(UWord ) - 1U))))),
4398                               1L);   4398                               1L);
4399   if (tmp___27) {   4399   if (tmp___27) {
4400     tmp___28 = __builtin_expect((long )(! (! (0UL == ((Addr )s & (Addr )(sizeof(UWord ) - 1U))))),   4400     tmp___28 = __builtin_expect((long )(! (! (0UL == ((Addr )s & (Addr )(sizeof(UWord ) - 1U))))),
4401                                 1L);   4401                                 1L);
4402     if (tmp___28) {   4402     if (tmp___28) {
4403       p = (UWord *)s;   4403       p = (UWord *)s;
4404       switch (sz / (SizeT )sizeof(UWord )) {   4404       switch (sz / (SizeT )sizeof(UWord )) {
4405       case 8UL:   4405       case 8UL:
4406       tmp___5 = 0UL;   4406       tmp___5 = 0UL;
4407       *(p + 7) = tmp___5;   4407       *(p + 7) = tmp___5;
4408       tmp___4 = tmp___5;   4408       tmp___4 = tmp___5;
4409       *(p + 6) = tmp___4;   4409       *(p + 6) = tmp___4;
4410       tmp___3 = tmp___4;   4410       tmp___3 = tmp___4;
4411       *(p + 5) = tmp___3;   4411       *(p + 5) = tmp___3;
4412       tmp___2 = tmp___3;   4412       tmp___2 = tmp___3;
4413       *(p + 4) = tmp___2;   4413       *(p + 4) = tmp___2;
4414       tmp___1 = tmp___2;   4414       tmp___1 = tmp___2;
4415       *(p + 3) = tmp___1;   4415       *(p + 3) = tmp___1;
4416       tmp___0 = tmp___1;   4416       tmp___0 = tmp___1;
4417       *(p + 2) = tmp___0;   4417       *(p + 2) = tmp___0;
4418       tmp = tmp___0;   4418       tmp = tmp___0;
4419       *(p + 1) = tmp;   4419       *(p + 1) = tmp;
4420       *(p + 0) = tmp;   4420       *(p + 0) = tmp;
4421       return;   4421       return;
4422       case 7UL:   4422       case 7UL:
4423       tmp___11 = 0UL;   4423       tmp___11 = 0UL;
4424       *(p + 6) = tmp___11;   4424       *(p + 6) = tmp___11;
4425       tmp___10 = tmp___11;   4425       tmp___10 = tmp___11;
4426       *(p + 5) = tmp___10;   4426       *(p + 5) = tmp___10;
4427       tmp___9 = tmp___10;   4427       tmp___9 = tmp___10;
4428       *(p + 4) = tmp___9;   4428       *(p + 4) = tmp___9;
4429       tmp___8 = tmp___9;   4429       tmp___8 = tmp___9;
4430       *(p + 3) = tmp___8;   4430       *(p + 3) = tmp___8;
4431       tmp___7 = tmp___8;   4431       tmp___7 = tmp___8;
4432       *(p + 2) = tmp___7;   4432       *(p + 2) = tmp___7;
4433       tmp___6 = tmp___7;   4433       tmp___6 = tmp___7;
4434       *(p + 1) = tmp___6;   4434       *(p + 1) = tmp___6;
4435       *(p + 0) = tmp___6;   4435       *(p + 0) = tmp___6;
4436       return;   4436       return;
4437       case 6UL:   4437       case 6UL:
4438       tmp___16 = 0UL;   4438       tmp___16 = 0UL;
4439       *(p + 5) = tmp___16;   4439       *(p + 5) = tmp___16;
4440       tmp___15 = tmp___16;   4440       tmp___15 = tmp___16;
4441       *(p + 4) = tmp___15;   4441       *(p + 4) = tmp___15;
4442       tmp___14 = tmp___15;   4442       tmp___14 = tmp___15;
4443       *(p + 3) = tmp___14;   4443       *(p + 3) = tmp___14;
4444       tmp___13 = tmp___14;   4444       tmp___13 = tmp___14;
4445       *(p + 2) = tmp___13;   4445       *(p + 2) = tmp___13;
4446       tmp___12 = tmp___13;   4446       tmp___12 = tmp___13;
4447       *(p + 1) = tmp___12;   4447       *(p + 1) = tmp___12;
4448       *(p + 0) = tmp___12;   4448       *(p + 0) = tmp___12;
4449       return;   4449       return;
4450       case 5UL:   4450       case 5UL:
4451       tmp___20 = 0UL;   4451       tmp___20 = 0UL;
4452       *(p + 4) = tmp___20;   4452       *(p + 4) = tmp___20;
4453       tmp___19 = tmp___20;   4453       tmp___19 = tmp___20;
4454       *(p + 3) = tmp___19;   4454       *(p + 3) = tmp___19;
4455       tmp___18 = tmp___19;   4455       tmp___18 = tmp___19;
4456       *(p + 2) = tmp___18;   4456       *(p + 2) = tmp___18;
4457       tmp___17 = tmp___18;   4457       tmp___17 = tmp___18;
4458       *(p + 1) = tmp___17;   4458       *(p + 1) = tmp___17;
4459       *(p + 0) = tmp___17;   4459       *(p + 0) = tmp___17;
4460       return;   4460       return;
4461       case 4UL:   4461       case 4UL:
4462       tmp___23 = 0UL;   4462       tmp___23 = 0UL;
4463       *(p + 3) = tmp___23;   4463       *(p + 3) = tmp___23;
4464       tmp___22 = tmp___23;   4464       tmp___22 = tmp___23;
4465       *(p + 2) = tmp___22;   4465       *(p + 2) = tmp___22;
4466       tmp___21 = tmp___22;   4466       tmp___21 = tmp___22;
4467       *(p + 1) = tmp___21;   4467       *(p + 1) = tmp___21;
4468       *(p + 0) = tmp___21;   4468       *(p + 0) = tmp___21;
4469       return;   4469       return;
4470       case 3UL:   4470       case 3UL:
4471       tmp___25 = 0UL;   4471       tmp___25 = 0UL;
4472       *(p + 2) = tmp___25;   4472       *(p + 2) = tmp___25;
4473       tmp___24 = tmp___25;   4473       tmp___24 = tmp___25;
4474       *(p + 1) = tmp___24;   4474       *(p + 1) = tmp___24;
4475       *(p + 0) = tmp___24;   4475       *(p + 0) = tmp___24;
4476       return;   4476       return;
4477       case 2UL:   4477       case 2UL:
4478       tmp___26 = 0UL;   4478       tmp___26 = 0UL;
4479       *(p + 1) = tmp___26;   4479       *(p + 1) = tmp___26;
4480       *(p + 0) = tmp___26;   4480       *(p + 0) = tmp___26;
4481       return;   4481       return;
4482       case 1UL:   4482       case 1UL:
4483       *(p + 0) = 0UL;   4483       *(p + 0) = 0UL;
4484       return;   4484       return;
4485       case 0UL:   4485       case 0UL:
4486       return;   4486       return;
4487       default:   4487       default:
4488       break;   4488       break;
4489       }   4489       }
4490     } else {   4490     } else {
4491     4491  
4492     }   4492     }
4493   } else {   4493   } else {
4494     4494  
4495   }   4495   }
4496   vgPlain_memset(s, 0, sz);   4496   vgPlain_memset(s, 0, sz);
4497   return;   4497   return;
4498 }   4498 }
4499 }   4499 }
4500 extern void vgPlain_ssort(void *base , SizeT nmemb , SizeT size ,   4500 extern void vgPlain_ssort(void *base , SizeT nmemb , SizeT size ,
4501                           Int (*compar)(void * , void * ) ) ;   4501                           Int (*compar)(void * , void * ) ) ;
4502 extern Int vgPlain_log2(UInt x ) ;   4502 extern Int vgPlain_log2(UInt x ) ;
4503 extern Int vgPlain_log2_64(ULong x ) ;   4503 extern Int vgPlain_log2_64(ULong x ) ;
4504 extern UInt vgPlain_random(UInt *pSeed ) ;   4504 extern UInt vgPlain_random(UInt *pSeed ) ;
4505 extern void vgPlain_gdbserver(ThreadId tid ) ;   4505 extern void vgPlain_gdbserver(ThreadId tid ) ;
4506 extern Int vgPlain_dyn_vgdb_error ;   4506 extern Int vgPlain_dyn_vgdb_error ;
4507 extern char *vgPlain_ppPointKind(PointKind kind ) ;   4507 extern char *vgPlain_ppPointKind(PointKind kind ) ;
4508 extern Bool vgPlain_is_watched(PointKind kind , Addr addr , Int szB ) ;   4508 extern Bool vgPlain_is_watched(PointKind kind , Addr addr , Int szB ) ;
4509 extern void vgPlain_needs_watchpoint(Bool (*watchpoint)(PointKind kind ,   4509 extern void vgPlain_needs_watchpoint(Bool (*watchpoint)(PointKind kind ,
4510                                                         Bool insert ,   4510                                                         Bool insert ,
4511                                                         Addr addr , SizeT len ) ) ;   4511                                                         Addr addr , SizeT len ) ) ;
4512 extern UInt ( /* format attribute */  vgPlain_gdb_printf)(HChar const   *format   4512 extern UInt ( /* format attribute */  vgPlain_gdb_printf)(HChar const   *format
4513                                                           , ...) ;   4513                                                           , ...) ;
4514 extern Int vgPlain_keyword_id(Char *keywords , Char *input_word ,   4514 extern Int vgPlain_keyword_id(Char *keywords , Char *input_word ,
4515                               kwd_report_error report ) ;   4515                               kwd_report_error report ) ;
4516 extern void vgPlain_strtok_get_address_and_size(Addr *address , SizeT *szB ,   4516 extern void vgPlain_strtok_get_address_and_size(Addr *address , SizeT *szB ,
4517                                                 Char **ssaveptr ) ;   4517                                                 Char **ssaveptr ) ;
4518 extern void vgPlain_gdbserver_prerun_action(ThreadId tid ) ;   4518 extern void vgPlain_gdbserver_prerun_action(ThreadId tid ) ;
4519 extern Bool vgPlain_gdbserver_activity(ThreadId tid ) ;   4519 extern Bool vgPlain_gdbserver_activity(ThreadId tid ) ;
4520 extern Bool vgPlain_gdbserver_point(PointKind kind , Bool insert , Addr addr ,   4520 extern Bool vgPlain_gdbserver_point(PointKind kind , Bool insert , Addr addr ,
4521                                     int len ) ;   4521                                     int len ) ;
4522 extern void vgPlain_invoke_gdbserver(int check ) ;   4522 extern void vgPlain_invoke_gdbserver(int check ) ;
4523 extern Bool vgPlain_gdbserver_report_signal(Int signo , ThreadId tid ) ;   4523 extern Bool vgPlain_gdbserver_report_signal(Int signo , ThreadId tid ) ;
4524 extern IRSB *vgPlain_instrument_for_gdbserver_if_needed(IRSB *sb_in ,   4524 extern IRSB *vgPlain_instrument_for_gdbserver_if_needed(IRSB *sb_in ,
4525                                                         VexGuestLayout *layout ,   4525                                                         VexGuestLayout *layout ,
4526                                                         VexGuestExtents *vge ,   4526                                                         VexGuestExtents *vge ,
4527                                                         IRType gWordTy ,   4527                                                         IRType gWordTy ,
4528                                                         IRType hWordTy ) ;   4528                                                         IRType hWordTy ) ;
4529 extern void vgPlain_gdbserver_status_output(void) ;   4529 extern void vgPlain_gdbserver_status_output(void) ;
4530 extern  __attribute__((__nothrow__)) int setjmp(struct __jmp_buf_tag *__env ) ;   4530 extern  __attribute__((__nothrow__)) int setjmp(struct __jmp_buf_tag *__env ) ;
4531 extern  __attribute__((__nothrow__)) int __sigsetjmp(struct __jmp_buf_tag *__env ,   4531 extern  __attribute__((__nothrow__)) int __sigsetjmp(struct __jmp_buf_tag *__env ,
4532                                                      int __savemask ) ;   4532                                                      int __savemask ) ;
4533 extern  __attribute__((__nothrow__)) int _setjmp(struct __jmp_buf_tag *__env ) ;   4533 extern  __attribute__((__nothrow__)) int _setjmp(struct __jmp_buf_tag *__env ) ;
4534 extern  __attribute__((__nothrow__,   4534 extern  __attribute__((__nothrow__,
4535 __noreturn__)) void longjmp(struct __jmp_buf_tag *__env , int __val ) ;   4535 __noreturn__)) void longjmp(struct __jmp_buf_tag *__env , int __val ) ;
4536 extern  __attribute__((__nothrow__,   4536 extern  __attribute__((__nothrow__,
4537 __noreturn__)) void _longjmp(struct __jmp_buf_tag *__env , int __val ) ;   4537 __noreturn__)) void _longjmp(struct __jmp_buf_tag *__env , int __val ) ;
4538 extern  __attribute__((__nothrow__,   4538 extern  __attribute__((__nothrow__,
4539 __noreturn__)) void siglongjmp(struct __jmp_buf_tag *__env , int __val ) ;   4539 __noreturn__)) void siglongjmp(struct __jmp_buf_tag *__env , int __val ) ;
4540 extern ThreadId vgPlain_get_running_tid(void) ;   4540 extern ThreadId vgPlain_get_running_tid(void) ;
4541 extern ThreadState vgPlain_threads[500] ;   4541 extern ThreadState vgPlain_threads[500] ;
4542 extern ThreadId vgPlain_running_tid ;   4542 extern ThreadId vgPlain_running_tid ;
4543 extern HChar const   *vgPlain_name_of_ThreadStatus(ThreadStatus status ) ;   4543 extern HChar const   *vgPlain_name_of_ThreadStatus(ThreadStatus status ) ;
4544 extern ThreadState *vgPlain_get_ThreadState(ThreadId tid ) ;   4544 extern ThreadState *vgPlain_get_ThreadState(ThreadId tid ) ;
4545 extern Bool vgPlain_is_valid_tid(ThreadId tid ) ;   4545 extern Bool vgPlain_is_valid_tid(ThreadId tid ) ;
4546 extern Bool vgPlain_is_running_thread(ThreadId tid ) ;   4546 extern Bool vgPlain_is_running_thread(ThreadId tid ) ;
4547 extern Bool vgPlain_is_exiting(ThreadId tid ) ;   4547 extern Bool vgPlain_is_exiting(ThreadId tid ) ;
4548 extern Int vgPlain_count_living_threads(void) ;   4548 extern Int vgPlain_count_living_threads(void) ;
4549 extern Int vgPlain_count_runnable_threads(void) ;   4549 extern Int vgPlain_count_runnable_threads(void) ;
4550 extern ThreadId vgPlain_lwpid_to_vgtid(Int lwpid ) ;   4550 extern ThreadId vgPlain_lwpid_to_vgtid(Int lwpid ) ;
4551 extern Int vgPlain_am_get_segment_starts(Addr *starts , Int nStarts ) ;   4551 extern Int vgPlain_am_get_segment_starts(Addr *starts , Int nStarts ) ;
4552 extern NSegment const   *vgPlain_am_find_nsegment(Addr a ) ;   4552 extern NSegment const   *vgPlain_am_find_nsegment(Addr a ) ;
4553 extern HChar *vgPlain_am_get_filename(NSegment const   * ) ;   4553 extern HChar *vgPlain_am_get_filename(NSegment const   * ) ;
4554 extern Bool vgPlain_am_is_valid_for_client(Addr start , SizeT len , UInt prot ) ;   4554 extern Bool vgPlain_am_is_valid_for_client(Addr start , SizeT len , UInt prot ) ;
4555 extern void *vgPlain_am_shadow_alloc(SizeT size ) ;   4555 extern void *vgPlain_am_shadow_alloc(SizeT size ) ;
4556 extern SysRes vgPlain_am_munmap_valgrind(Addr start , SizeT length ) ;   4556 extern SysRes vgPlain_am_munmap_valgrind(Addr start , SizeT length ) ;
4557 extern Addr vgPlain_am_startup(Addr sp_at_startup ) ;   4557 extern Addr vgPlain_am_startup(Addr sp_at_startup ) ;
4558 extern NSegment const   *vgPlain_am_next_nsegment(NSegment *here , Bool fwds ) ;   4558 extern NSegment const   *vgPlain_am_next_nsegment(NSegment *here , Bool fwds ) ;
4559 extern Bool vgPlain_am_is_valid_for_client_or_free_or_resvn(Addr start ,   4559 extern Bool vgPlain_am_is_valid_for_client_or_free_or_resvn(Addr start ,
4560                                                             SizeT len ,   4560                                                             SizeT len ,
4561                                                             UInt prot ) ;   4561                                                             UInt prot ) ;
4562 extern ULong vgPlain_am_get_anonsize_total(void) ;   4562 extern ULong vgPlain_am_get_anonsize_total(void) ;
4563 extern void vgPlain_am_show_nsegments(Int logLevel , HChar *who ) ;   4563 extern void vgPlain_am_show_nsegments(Int logLevel , HChar *who ) ;
4564 extern Bool vgPlain_am_do_sync_check(HChar const   *fn , HChar const   *file ,   4564 extern Bool vgPlain_am_do_sync_check(HChar const   *fn , HChar const   *file ,
4565                                      Int line ) ;   4565                                      Int line ) ;
4566 extern Addr vgPlain_am_get_advisory(MapRequest *req , Bool forClient , Bool *ok ) ;   4566 extern Addr vgPlain_am_get_advisory(MapRequest *req , Bool forClient , Bool *ok ) ;
4567 extern Addr vgPlain_am_get_advisory_client_simple(Addr start , SizeT len ,   4567 extern Addr vgPlain_am_get_advisory_client_simple(Addr start , SizeT len ,
4568                                                   Bool *ok ) ;   4568                                                   Bool *ok ) ;
4569 extern Bool vgPlain_am_notify_client_mmap(Addr a , SizeT len , UInt prot ,   4569 extern Bool vgPlain_am_notify_client_mmap(Addr a , SizeT len , UInt prot ,
4570                                           UInt flags , Int fd , Off64T offset ) ;   4570                                           UInt flags , Int fd , Off64T offset ) ;
4571 extern Bool vgPlain_am_notify_client_shmat(Addr a , SizeT len , UInt prot ) ;   4571 extern Bool vgPlain_am_notify_client_shmat(Addr a , SizeT len , UInt prot ) ;
4572 extern Bool vgPlain_am_notify_mprotect(Addr start , SizeT len , UInt prot ) ;   4572 extern Bool vgPlain_am_notify_mprotect(Addr start , SizeT len , UInt prot ) ;
4573 extern Bool vgPlain_am_notify_munmap(Addr start , SizeT len ) ;   4573 extern Bool vgPlain_am_notify_munmap(Addr start , SizeT len ) ;
4574 extern SysRes vgPlain_am_do_mmap_NO_NOTIFY(Addr start , SizeT length ,   4574 extern SysRes vgPlain_am_do_mmap_NO_NOTIFY(Addr start , SizeT length ,
4575                                            UInt prot , UInt flags , Int fd ,   4575                                            UInt prot , UInt flags , Int fd ,
4576                                            Off64T offset ) ;   4576                                            Off64T offset ) ;
4577 extern void vgPlain_am_aix5_reread_procmap(AixCodeSegChange *directives ,   4577 extern void vgPlain_am_aix5_reread_procmap(AixCodeSegChange *directives ,
4578                                            Int *ndirectives ) ;   4578                                            Int *ndirectives ) ;
4579 extern Int vgPlain_am_aix5_reread_procmap_howmany_directives(void) ;   4579 extern Int vgPlain_am_aix5_reread_procmap_howmany_directives(void) ;
4580 extern void vgPlain_am_aix5_set_initial_client_sp(Addr  ) ;   4580 extern void vgPlain_am_aix5_set_initial_client_sp(Addr  ) ;
4581 extern Bool vgPlain_am_aix5_sbrk_allowed ;   4581 extern Bool vgPlain_am_aix5_sbrk_allowed ;
4582 extern SysRes vgPlain_am_mmap_file_fixed_client(Addr start , SizeT length ,   4582 extern SysRes vgPlain_am_mmap_file_fixed_client(Addr start , SizeT length ,
4583                                                 UInt prot , Int fd ,   4583                                                 UInt prot , Int fd ,
4584                                                 Off64T offset ) ;   4584                                                 Off64T offset ) ;
4585 extern SysRes vgPlain_am_mmap_named_file_fixed_client(Addr start ,   4585 extern SysRes vgPlain_am_mmap_named_file_fixed_client(Addr start ,
4586                                                       SizeT length , UInt prot ,   4586                                                       SizeT length , UInt prot ,
4587                                                       Int fd , Off64T offset ,   4587                                                       Int fd , Off64T offset ,
4588                                                       HChar const   *name ) ;   4588                                                       HChar const   *name ) ;
4589 extern SysRes vgPlain_am_mmap_anon_fixed_client(Addr start , SizeT length ,   4589 extern SysRes vgPlain_am_mmap_anon_fixed_client(Addr start , SizeT length ,
4590                                                 UInt prot ) ;   4590                                                 UInt prot ) ;
4591 extern SysRes vgPlain_am_mmap_anon_float_client(SizeT length , Int prot ) ;   4591 extern SysRes vgPlain_am_mmap_anon_float_client(SizeT length , Int prot ) ;
4592 extern SysRes vgPlain_am_sbrk_anon_float_client(SizeT length , Int prot ) ;   4592 extern SysRes vgPlain_am_sbrk_anon_float_client(SizeT length , Int prot ) ;
4593 extern SysRes vgPlain_am_mmap_anon_float_valgrind(SizeT cszB ) ;   4593 extern SysRes vgPlain_am_mmap_anon_float_valgrind(SizeT cszB ) ;
4594 extern SysRes vgPlain_am_sbrk_anon_float_valgrind(SizeT cszB ) ;   4594 extern SysRes vgPlain_am_sbrk_anon_float_valgrind(SizeT cszB ) ;
4595 extern SysRes vgPlain_am_mmap_file_float_valgrind(SizeT length , UInt prot ,   4595 extern SysRes vgPlain_am_mmap_file_float_valgrind(SizeT length , UInt prot ,
4596                                                   Int fd , Off64T offset ) ;   4596                                                   Int fd , Off64T offset ) ;
4597 extern SysRes vgPlain_am_shared_mmap_file_float_valgrind(SizeT length ,   4597 extern SysRes vgPlain_am_shared_mmap_file_float_valgrind(SizeT length ,
4598                                                          UInt prot , Int fd ,   4598                                                          UInt prot , Int fd ,
4599                                                          Off64T offset ) ;   4599                                                          Off64T offset ) ;
4600 extern SysRes vgPlain_am_munmap_client(Bool *need_discard , Addr start ,   4600 extern SysRes vgPlain_am_munmap_client(Bool *need_discard , Addr start ,
4601                                        SizeT length ) ;   4601                                        SizeT length ) ;
4602 extern Bool vgPlain_am_change_ownership_v_to_c(Addr start , SizeT len ) ;   4602 extern Bool vgPlain_am_change_ownership_v_to_c(Addr start , SizeT len ) ;
4603 extern void vgPlain_am_set_segment_isCH_if_SkAnonC(NSegment *seg ) ;   4603 extern void vgPlain_am_set_segment_isCH_if_SkAnonC(NSegment *seg ) ;
4604 extern void vgPlain_am_set_segment_hasT_if_SkFileC_or_SkAnonC(NSegment * ) ;   4604 extern void vgPlain_am_set_segment_hasT_if_SkFileC_or_SkAnonC(NSegment * ) ;
4605 extern Bool vgPlain_am_create_reservation(Addr start , SizeT length ,   4605 extern Bool vgPlain_am_create_reservation(Addr start , SizeT length ,
4606                                           ShrinkMode smode , SSizeT extra ) ;   4606                                           ShrinkMode smode , SSizeT extra ) ;
4607 extern Bool vgPlain_am_extend_into_adjacent_reservation_client(NSegment *seg ,   4607 extern Bool vgPlain_am_extend_into_adjacent_reservation_client(NSegment *seg ,
4608                                                                SSizeT delta ) ;   4608                                                                SSizeT delta ) ;
4609 extern Bool vgPlain_am_extend_map_client(Bool *need_discard , NSegment *seg ,   4609 extern Bool vgPlain_am_extend_map_client(Bool *need_discard , NSegment *seg ,
4610                                          SizeT delta ) ;   4610                                          SizeT delta ) ;
4611 extern Bool vgPlain_am_relocate_nooverlap_client(Bool *need_discard ,   4611 extern Bool vgPlain_am_relocate_nooverlap_client(Bool *need_discard ,
4612                                                  Addr old_addr , SizeT old_len ,   4612                                                  Addr old_addr , SizeT old_len ,
4613                                                  Addr new_addr , SizeT new_len ) ;   4613                                                  Addr new_addr , SizeT new_len ) ;
4614 extern VgStack *vgPlain_am_alloc_VgStack(Addr *initial_sp ) ;   4614 extern VgStack *vgPlain_am_alloc_VgStack(Addr *initial_sp ) ;
4615 extern SizeT vgPlain_am_get_VgStack_unused_szB(VgStack *stack , SizeT limit ) ;   4615 extern SizeT vgPlain_am_get_VgStack_unused_szB(VgStack *stack , SizeT limit ) ;
4616 static int ( /* format attribute */  VALGRIND_PRINTF)(char const   *format   4616 static int ( /* format attribute */  VALGRIND_PRINTF)(char const   *format
4617                                                       , ...)  __attribute__((__unused__)) ;   4617                                                       , ...)  __attribute__((__unused__)) ;
4618 static int ( /* format attribute */  VALGRIND_PRINTF)(char const   *format   4618 static int ( /* format attribute */  VALGRIND_PRINTF)(char const   *format
4619                                                       , ...)  __attribute__((__unused__)) ;   4619                                                       , ...)  __attribute__((__unused__)) ;
4620 static int ( /* format attribute */  VALGRIND_PRINTF)(char const   *format   4620 static int ( /* format attribute */  VALGRIND_PRINTF)(char const   *format
4621                                                       , ...)   4621                                                       , ...)
4622 {   4622 {
4623   unsigned long _qzz_res ;   4623   unsigned long _qzz_res ;
4624   va_list vargs ;   4624   va_list vargs ;
4625   unsigned int volatile   _zzq_args[6] ;   4625   unsigned int volatile   _zzq_args[6] ;
4626   unsigned int volatile   _zzq_result ;   4626   unsigned int volatile   _zzq_result ;
4627     4627  
4628   {   4628   {
4629   __builtin_va_start(vargs, format);   4629   __builtin_va_start(vargs, format);
4630   _zzq_args[0] = (unsigned int volatile   )5123U;   4630   _zzq_args[0] = (unsigned int volatile   )5123U;
4631   _zzq_args[1] = (unsigned int volatile   )((unsigned int )((unsigned long )format));   4631   _zzq_args[1] = (unsigned int volatile   )((unsigned int )((unsigned long )format));
4632   _zzq_args[2] = (unsigned int volatile   )((unsigned int )((unsigned long )(& vargs)));   4632   _zzq_args[2] = (unsigned int volatile   )((unsigned int )((unsigned long )(& vargs)));
4633   _zzq_args[3] = (unsigned int volatile   )0U;   4633   _zzq_args[3] = (unsigned int volatile   )0U;
4634   _zzq_args[4] = (unsigned int volatile   )0U;   4634   _zzq_args[4] = (unsigned int volatile   )0U;
4635   _zzq_args[5] = (unsigned int volatile   )0U;   4635   _zzq_args[5] = (unsigned int volatile   )0U;
4636   __asm__  volatile   ("roll $3,  %%edi ; roll $13, %%edi\n\t"   4636   __asm__  volatile   ("roll $3,  %%edi ; roll $13, %%edi\n\t"
4637                        "roll $29, %%edi ; roll $19, %%edi\n\t"   4637                        "roll $29, %%edi ; roll $19, %%edi\n\t"
4638                        "xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]),   4638                        "xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]),
4639                        "0" (0): "cc", "memory");   4639                        "0" (0): "cc", "memory");
4640   _qzz_res = (unsigned long )_zzq_result;   4640   _qzz_res = (unsigned long )_zzq_result;
4641   __builtin_va_end(vargs);   4641   __builtin_va_end(vargs);
4642   return ((int )_qzz_res);   4642   return ((int )_qzz_res);
4643 }   4643 }
4644 }   4644 }
4645 static int ( /* format attribute */  VALGRIND_PRINTF_BACKTRACE)(char const   *format   4645 static int ( /* format attribute */  VALGRIND_PRINTF_BACKTRACE)(char const   *format
4646                                                                 , ...)  __attribute__((__unused__)) ;   4646                                                                 , ...)  __attribute__((__unused__)) ;
4647 static int ( /* format attribute */  VALGRIND_PRINTF_BACKTRACE)(char const   *format   4647 static int ( /* format attribute */  VALGRIND_PRINTF_BACKTRACE)(char const   *format
4648                                                                 , ...)  __attribute__((__unused__)) ;   4648                                                                 , ...)  __attribute__((__unused__)) ;
4649 static int ( /* format attribute */  VALGRIND_PRINTF_BACKTRACE)(char const   *format   4649 static int ( /* format attribute */  VALGRIND_PRINTF_BACKTRACE)(char const   *format
4650                                                                 , ...)   4650                                                                 , ...)
4651 {   4651 {
4652   unsigned long _qzz_res ;   4652   unsigned long _qzz_res ;
4653   va_list vargs ;   4653   va_list vargs ;
4654   unsigned int volatile   _zzq_args[6] ;   4654   unsigned int volatile   _zzq_args[6] ;
4655   unsigned int volatile   _zzq_result ;   4655   unsigned int volatile   _zzq_result ;
4656     4656  
4657   {   4657   {
4658   __builtin_va_start(vargs, format);   4658   __builtin_va_start(vargs, format);
4659   _zzq_args[0] = (unsigned int volatile   )5124U;   4659   _zzq_args[0] = (unsigned int volatile   )5124U;
4660   _zzq_args[1] = (unsigned int volatile   )((unsigned int )((unsigned long )format));   4660   _zzq_args[1] = (unsigned int volatile   )((unsigned int )((unsigned long )format));
4661   _zzq_args[2] = (unsigned int volatile   )((unsigned int )((unsigned long )(& vargs)));   4661   _zzq_args[2] = (unsigned int volatile   )((unsigned int )((unsigned long )(& vargs)));
4662   _zzq_args[3] = (unsigned int volatile   )0U;   4662   _zzq_args[3] = (unsigned int volatile   )0U;
4663   _zzq_args[4] = (unsigned int volatile   )0U;   4663   _zzq_args[4] = (unsigned int volatile   )0U;
4664   _zzq_args[5] = (unsigned int volatile   )0U;   4664   _zzq_args[5] = (unsigned int volatile   )0U;
4665   __asm__  volatile   ("roll $3,  %%edi ; roll $13, %%edi\n\t"   4665   __asm__  volatile   ("roll $3,  %%edi ; roll $13, %%edi\n\t"
4666                        "roll $29, %%edi ; roll $19, %%edi\n\t"   4666                        "roll $29, %%edi ; roll $19, %%edi\n\t"
4667                        "xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]),   4667                        "xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]),
4668                        "0" (0): "cc", "memory");   4668                        "0" (0): "cc", "memory");
4669   _qzz_res = (unsigned long )_zzq_result;   4669   _qzz_res = (unsigned long )_zzq_result;
4670   __builtin_va_end(vargs);   4670   __builtin_va_end(vargs);
4671   return ((int )_qzz_res);   4671   return ((int )_qzz_res);
4672 }   4672 }
4673 }   4673 }
4674 extern void gdbserver_init(void) ;   4674 extern void gdbserver_init(void) ;
4675 extern void server_main(void) ;   4675 extern void server_main(void) ;
4676 extern void gdbserver_terminate(void) ;   4676 extern void gdbserver_terminate(void) ;
4677 void monitor_output(char *s ) ;   4677 void monitor_output(char *s ) ;
4678 int remote_desc_activity(char *msg ) ;   4678 int remote_desc_activity(char *msg ) ;
4679 void remote_utils_output_status(void) ;   4679 void remote_utils_output_status(void) ;
4680 Bool remote_connected(void) ;   4680 Bool remote_connected(void) ;
4681 void remote_finish(FinishReason reason ) ;   4681 void remote_finish(FinishReason reason ) ;
4682 extern void reset_valgrind_sink(char *info ) ;   4682 extern void reset_valgrind_sink(char *info ) ;
4683 extern Addr thumb_pc(Addr pc ) ;   4683 extern Addr thumb_pc(Addr pc ) ;
4684 extern Bool valgrind_single_stepping(void) ;   4684 extern Bool valgrind_single_stepping(void) ;
4685 extern void valgrind_set_single_stepping(Bool  ) ;   4685 extern void valgrind_set_single_stepping(Bool  ) ;
4686 extern Addr valgrind_get_ignore_break_once(void) ;   4686 extern Addr valgrind_get_ignore_break_once(void) ;
4687 extern void vgPlain_set_watchpoint_stop_address(Addr addr ) ;   4687 extern void vgPlain_set_watchpoint_stop_address(Addr addr ) ;
4688 extern ThreadId vgdb_interrupted_tid ;   4688 extern ThreadId vgdb_interrupted_tid ;
4689 extern void *new_register_cache(void) ;   4689 extern void *new_register_cache(void) ;
4690 extern void free_register_cache(void *regcache ) ;   4690 extern void free_register_cache(void *regcache ) ;
4691 extern void regcache_invalidate_one(struct inferior_list_entry * ) ;   4691 extern void regcache_invalidate_one(struct inferior_list_entry * ) ;
4692 extern void regcache_invalidate(void) ;   4692 extern void regcache_invalidate(void) ;
4693 extern void registers_to_string(char *buf ) ;   4693 extern void registers_to_string(char *buf ) ;
4694 extern void registers_from_string(char *buf ) ;   4694 extern void registers_from_string(char *buf ) ;
4695 extern int registers_length(void) ;   4695 extern int registers_length(void) ;
4696 extern struct reg *find_register_by_number(int n ) ;   4696 extern struct reg *find_register_by_number(int n ) ;
4697 extern int register_size(int n ) ;   4697 extern int register_size(int n ) ;
4698 extern int find_regno(char const   *name ) ;   4698 extern int find_regno(char const   *name ) ;
4699 extern char const   **gdbserver_expedite_regs ;   4699 extern char const   **gdbserver_expedite_regs ;
4700 extern void supply_register(int n , void const   *buf , Bool *mod ) ;   4700 extern void supply_register(int n , void const   *buf , Bool *mod ) ;
4701 extern void supply_register_from_string(int n , char const   *buf , Bool *mod ) ;   4701 extern void supply_register_from_string(int n , char const   *buf , Bool *mod ) ;
4702 extern void supply_register_by_name(char const   *name , void const   *buf ,   4702 extern void supply_register_by_name(char const   *name , void const   *buf ,
4703                                     Bool *mod ) ;   4703                                     Bool *mod ) ;
4704 extern void collect_register(int n , void *buf ) ;   4704 extern void collect_register(int n , void *buf ) ;
4705 extern void collect_register_as_string(int n , char *buf ) ;   4705 extern void collect_register_as_string(int n , char *buf ) ;
4706 extern void collect_register_by_name(char const   *name , void *buf ) ;   4706 extern void collect_register_by_name(char const   *name , void *buf ) ;
4707 extern void gdbserver_signal_encountered(Int sigNo ) ;   4707 extern void gdbserver_signal_encountered(Int sigNo ) ;
4708 extern Bool gdbserver_deliver_signal(Int sigNo ) ;   4708 extern Bool gdbserver_deliver_signal(Int sigNo ) ;
4709 extern int pass_signals[] ;   4709 extern int pass_signals[] ;
4710 extern struct target_ops *the_target ;   4710 extern struct target_ops *the_target ;
4711 extern void set_target_ops(struct target_ops * ) ;   4711 extern void set_target_ops(struct target_ops * ) ;
4712 extern int read_inferior_memory(CORE_ADDR memaddr , unsigned char *myaddr ,   4712 extern int read_inferior_memory(CORE_ADDR memaddr , unsigned char *myaddr ,
4713                                 int len ) ;   4713                                 int len ) ;
4714 extern int write_inferior_memory(CORE_ADDR memaddr ,   4714 extern int write_inferior_memory(CORE_ADDR memaddr ,
4715                                  unsigned char const   *myaddr , int len ) ;   4715                                  unsigned char const   *myaddr , int len ) ;
4716 extern void set_desired_inferior(int id ) ;   4716 extern void set_desired_inferior(int id ) ;
4717 extern void *vgPlain_dmemcpy(void *d , void const   *s , SizeT sz , Bool *mod ) ;   4717 extern void *vgPlain_dmemcpy(void *d , void const   *s , SizeT sz , Bool *mod ) ;
4718 extern void vgPlain_transfer(void *valgrind , void *gdbserver ,   4718 extern void vgPlain_transfer(void *valgrind , void *gdbserver ,
4719                              transfer_direction dir , SizeT sz , Bool *mod ) ;   4719                              transfer_direction dir , SizeT sz , Bool *mod ) ;
4720 extern void initialize_low(void) ;   4720 extern void initialize_low(void) ;
4721 extern void initialize_shadow_low(Bool shadow_mode ) ;   4721 extern void initialize_shadow_low(Bool shadow_mode ) ;
4722 extern struct inferior_list all_threads ;   4722 extern struct inferior_list all_threads ;
4723 extern void add_inferior_to_list(struct inferior_list *list ,   4723 extern void add_inferior_to_list(struct inferior_list *list ,
4724                                  struct inferior_list_entry *new_inferior ) ;   4724                                  struct inferior_list_entry *new_inferior ) ;
4725 extern void for_each_inferior(struct inferior_list *list ,   4725 extern void for_each_inferior(struct inferior_list *list ,
4726                               void (*action)(struct inferior_list_entry * ) ) ;   4726                               void (*action)(struct inferior_list_entry * ) ) ;
4727 extern struct thread_info *current_inferior ;   4727 extern struct thread_info *current_inferior ;
4728 extern void remove_inferior(struct inferior_list *list ,   4728 extern void remove_inferior(struct inferior_list *list ,
4729                             struct inferior_list_entry *entry ) ;   4729                             struct inferior_list_entry *entry ) ;
4730 extern void remove_thread(struct thread_info *thread ) ;   4730 extern void remove_thread(struct thread_info *thread ) ;
4731 extern void add_thread(unsigned long thread_id , void *target_data ,   4731 extern void add_thread(unsigned long thread_id , void *target_data ,
4732                        unsigned int  ) ;   4732                        unsigned int  ) ;
4733 extern unsigned int thread_id_to_gdb_id(unsigned long  ) ;   4733 extern unsigned int thread_id_to_gdb_id(unsigned long  ) ;
4734 extern unsigned int thread_to_gdb_id(struct thread_info * ) ;   4734 extern unsigned int thread_to_gdb_id(struct thread_info * ) ;
4735 extern unsigned long gdb_id_to_thread_id(unsigned int  ) ;   4735 extern unsigned long gdb_id_to_thread_id(unsigned int  ) ;
4736 extern struct thread_info *gdb_id_to_thread(unsigned int  ) ;   4736 extern struct thread_info *gdb_id_to_thread(unsigned int  ) ;
4737 extern void clear_inferiors(void) ;   4737 extern void clear_inferiors(void) ;
4738 extern struct inferior_list_entry *find_inferior(struct inferior_list * ,   4738 extern struct inferior_list_entry *find_inferior(struct inferior_list * ,
4739                                                  int (*func)(struct inferior_list_entry * ,   4739                                                  int (*func)(struct inferior_list_entry * ,
4740                                                              void * ) ,   4740                                                              void * ) ,
4741                                                  void *arg ) ;   4741                                                  void *arg ) ;
4742 extern struct inferior_list_entry *find_inferior_id(struct inferior_list *list ,   4742 extern struct inferior_list_entry *find_inferior_id(struct inferior_list *list ,
4743                                                     unsigned long id ) ;   4743                                                     unsigned long id ) ;
4744 extern void *inferior_target_data(struct thread_info * ) ;   4744 extern void *inferior_target_data(struct thread_info * ) ;
4745 extern void set_inferior_target_data(struct thread_info * , void * ) ;   4745 extern void set_inferior_target_data(struct thread_info * , void * ) ;
4746 extern void *inferior_regcache_data(struct thread_info * ) ;   4746 extern void *inferior_regcache_data(struct thread_info * ) ;
4747 extern void set_inferior_regcache_data(struct thread_info * , void * ) ;   4747 extern void set_inferior_regcache_data(struct thread_info * , void * ) ;
4748 extern void change_inferior_id(struct inferior_list *list ,   4748 extern void change_inferior_id(struct inferior_list *list ,
4749                                unsigned long new_id ) ;   4749                                unsigned long new_id ) ;
4750 extern unsigned long cont_thread ;   4750 extern unsigned long cont_thread ;
4751 extern unsigned long general_thread ;   4751 extern unsigned long general_thread ;
4752 extern unsigned long step_thread ;   4752 extern unsigned long step_thread ;
4753 extern unsigned long thread_from_wait ;   4753 extern unsigned long thread_from_wait ;
4754 extern unsigned long old_thread_from_wait ;   4754 extern unsigned long old_thread_from_wait ;
4755 extern jmp_buf toplevel ;   4755 extern jmp_buf toplevel ;
4756 Bool noack_mode  ;   4756 Bool noack_mode  ;
4757 int putpkt(char *buf ) ;   4757 int putpkt(char *buf ) ;
4758 int putpkt_binary(char *buf , int cnt ) ;   4758 int putpkt_binary(char *buf , int cnt ) ;
4759 int getpkt(char *buf___0 ) ;   4759 int getpkt(char *buf___0 ) ;
4760 void remote_open(char *name ) ;   4760 void remote_open(char *name ) ;
4761 void remote_close(void) ;   4761 void remote_close(void) ;
4762 void sync_gdb_connection(void) ;   4762 void sync_gdb_connection(void) ;
4763 void write_ok(char *buf___0 ) ;   4763 void write_ok(char *buf___0 ) ;
4764 void write_enn(char *buf___0 ) ;   4764 void write_enn(char *buf___0 ) ;
4765 void convert_ascii_to_int(char *from , unsigned char *to , int n ) ;   4765 void convert_ascii_to_int(char *from , unsigned char *to , int n ) ;
4766 void convert_int_to_ascii(unsigned char *from , char *to , int n ) ;   4766 void convert_int_to_ascii(unsigned char *from , char *to , int n ) ;
4767 void prepare_resume_reply(char *buf___0 , char status , unsigned char sig ) ;   4767 void prepare_resume_reply(char *buf___0 , char status , unsigned char sig ) ;
4768 void decode_address(CORE_ADDR *addrp , char const   *start , int len ) ;   4768 void decode_address(CORE_ADDR *addrp , char const   *start , int len ) ;
4769 void decode_m_packet(char *from , CORE_ADDR *mem_addr_ptr ,   4769 void decode_m_packet(char *from , CORE_ADDR *mem_addr_ptr ,
4770                      unsigned int *len_ptr ) ;   4770                      unsigned int *len_ptr ) ;
4771 void decode_M_packet(char *from , CORE_ADDR *mem_addr_ptr ,   4771 void decode_M_packet(char *from , CORE_ADDR *mem_addr_ptr ,
4772                      unsigned int *len_ptr , unsigned char *to ) ;   4772                      unsigned int *len_ptr , unsigned char *to ) ;
4773 int decode_X_packet(char *from , int packet_len , CORE_ADDR *mem_addr_ptr ,   4773 int decode_X_packet(char *from , int packet_len , CORE_ADDR *mem_addr_ptr ,
4774                     unsigned int *len_ptr , unsigned char *to ) ;   4774                     unsigned int *len_ptr , unsigned char *to ) ;
4775 int unhexify(char *bin , char const   *hex , int count ) ;   4775 int unhexify(char *bin , char const   *hex , int count ) ;
4776 int hexify(char *hex , char const   *bin , int count ) ;   4776 int hexify(char *hex , char const   *bin , int count ) ;
4777 int remote_escape_output(gdb_byte const   *buffer , int len ,   4777 int remote_escape_output(gdb_byte const   *buffer , int len ,
4778                          gdb_byte *out_buf , int *out_len , int out_maxlen ) ;   4778                          gdb_byte *out_buf , int *out_len , int out_maxlen ) ;
4779 extern enum target_signal target_signal_from_host(int hostsig ) ;   4779 extern enum target_signal target_signal_from_host(int hostsig ) ;
4780 extern int target_signal_to_host_p(enum target_signal oursig ) ;   4780 extern int target_signal_to_host_p(enum target_signal oursig ) ;
4781 extern int target_signal_to_host(enum target_signal oursig ) ;   4781 extern int target_signal_to_host(enum target_signal oursig ) ;
4782 extern char *target_signal_to_name(enum target_signal  ) ;   4782 extern char *target_signal_to_name(enum target_signal  ) ;
4783 extern  __attribute__((__noreturn__)) void ( /* format attribute */  error)(char const   *string   4783 extern  __attribute__((__noreturn__)) void ( /* format attribute */  error)(char const   *string
4784                                                                             , ...) ;   4784                                                                             , ...) ;
4785 extern void ( /* format attribute */  sr_perror)(SysRes sr , char *string  , ...) ;   4785 extern void ( /* format attribute */  sr_perror)(SysRes sr , char *string  , ...) ;
4786 extern  __attribute__((__noreturn__)) void ( /* format attribute */  fatal)(char const   *string   4786 extern  __attribute__((__noreturn__)) void ( /* format attribute */  fatal)(char const   *string
4787                                                                             , ...) ;   4787                                                                             , ...) ;
4788 extern void ( /* format attribute */  warning)(char const   *string  , ...) ;   4788 extern void ( /* format attribute */  warning)(char const   *string  , ...) ;
4789 extern void init_registers(void) ;   4789 extern void init_registers(void) ;
4790 extern char const   version[] ;   4790 extern char const   version[] ;
4791 extern  __attribute__((__nothrow__)) int prctl(int __option  , ...) ;   4791 extern  __attribute__((__nothrow__)) int prctl(int __option  , ...) ;
4792 static int readchar(int single ) ;   4792 static int readchar(int single ) ;
4793 static int remote_desc  ;   4793 static int remote_desc  ;
4794 static VgdbShared *shared  ;   4794 static VgdbShared *shared  ;
4795 static int last_looked_cntr  =    -1;   4795 static int last_looked_cntr  =    -1;
4796 static struct vki_pollfd remote_desc_pollfdread_activity  ;   4796 static struct vki_pollfd remote_desc_pollfdread_activity  ;
4797 static int write_remote_desc  =    -1;   4797 static int write_remote_desc  =    -1;
4798 static int pid_from_to_creator  ;   4798 static int pid_from_to_creator  ;
4799 static int mknod_done  =    0;   4799 static int mknod_done  =    0;
4800 static char *from_gdb  =    (char *)((void *)0);   4800 static char *from_gdb  =    (char *)((void *)0);
4801 static char *to_gdb  =    (char *)((void *)0);   4801 static char *to_gdb  =    (char *)((void *)0);
4802 static char *shared_mem  =    (char *)((void *)0);   4802 static char *shared_mem  =    (char *)((void *)0);
4803 static int open_fifo(char *side , char *path , int flags )   4803 static int open_fifo(char *side , char *path , int flags )
4804 {   4804 {
4805   SysRes o ;   4805   SysRes o ;
4806   int fd ;   4806   int fd ;
4807   Int tmp ;   4807   Int tmp ;
4808   int tmp___0 ;   4808   int tmp___0 ;
4809   long tmp___1 ;   4809   long tmp___1 ;
4810   UWord tmp___2 ;   4810   UWord tmp___2 ;
4811   Int tmp___3 ;   4811   Int tmp___3 ;
4812   int tmp___4 ;   4812   int tmp___4 ;
4813   long tmp___5 ;   4813   long tmp___5 ;
4814   Bool tmp___6 ;   4814   Bool tmp___6 ;
4815   Int tmp___7 ;   4815   Int tmp___7 ;
4816   int tmp___8 ;   4816   int tmp___8 ;
4817   long tmp___9 ;   4817   long tmp___9 ;
4818     4818  
4819   {   4819   {
4820   while (1) {   4820   while (1) {
4821     tmp = vgPlain_debugLog_getLevel();   4821     tmp = vgPlain_debugLog_getLevel();
4822     if (tmp >= 1) {   4822     if (tmp >= 1) {
4823       tmp___0 = 1;   4823       tmp___0 = 1;
4824     } else {   4824     } else {
4825       tmp___0 = 0;   4825       tmp___0 = 0;
4826     }   4826     }
4827     tmp___1 = __builtin_expect((long )tmp___0, 0L);   4827     tmp___1 = __builtin_expect((long )tmp___0, 0L);
4828     if (tmp___1) {   4828     if (tmp___1) {
4829       vgPlain_debugLog(1, "gdbsrv", "Opening %s side %s\n", side, path);   4829       vgPlain_debugLog(1, "gdbsrv", "Opening %s side %s\n", side, path);
4830     } else {   4830     } else {
4831     4831  
4832     }   4832     }
4833     break;   4833     break;
4834   }   4834   }
4835   o = vgPlain_open((Char const   *)path, flags, 0);   4835   o = vgPlain_open((Char const   *)path, flags, 0);
4836   tmp___6 = sr_isError(o);   4836   tmp___6 = sr_isError(o);
4837   if (tmp___6) {   4837   if (tmp___6) {
4838     sr_perror(o, (char *)"open fifo %s\n", path);   4838     sr_perror(o, (char *)"open fifo %s\n", path);
4839     fatal("valgrind: fatal error: vgdb FIFO cannot be opened.\n");   4839     fatal("valgrind: fatal error: vgdb FIFO cannot be opened.\n");
4840   } else {   4840   } else {
4841     tmp___2 = sr_Res(o);   4841     tmp___2 = sr_Res(o);
4842     fd = (int )tmp___2;   4842     fd = (int )tmp___2;
4843     while (1) {   4843     while (1) {
4844       tmp___3 = vgPlain_debugLog_getLevel();   4844       tmp___3 = vgPlain_debugLog_getLevel();
4845       if (tmp___3 >= 1) {   4845       if (tmp___3 >= 1) {
4846         tmp___4 = 1;   4846         tmp___4 = 1;
4847       } else {   4847       } else {
4848         tmp___4 = 0;   4848         tmp___4 = 0;
4849       }   4849       }
4850       tmp___5 = __builtin_expect((long )tmp___4, 0L);   4850       tmp___5 = __builtin_expect((long )tmp___4, 0L);
4851       if (tmp___5) {   4851       if (tmp___5) {
4852         vgPlain_debugLog(1, "gdbsrv", "result fd %d\n", fd);   4852         vgPlain_debugLog(1, "gdbsrv", "result fd %d\n", fd);
4853       } else {   4853       } else {
4854     4854  
4855       }   4855       }
4856       break;   4856       break;
4857     }   4857     }
4858   }   4858   }
4859   fd = vgPlain_safe_fd(fd);   4859   fd = vgPlain_safe_fd(fd);
4860   while (1) {   4860   while (1) {
4861     tmp___7 = vgPlain_debugLog_getLevel();   4861     tmp___7 = vgPlain_debugLog_getLevel();
4862     if (tmp___7 >= 1) {   4862     if (tmp___7 >= 1) {
4863       tmp___8 = 1;   4863       tmp___8 = 1;
4864     } else {   4864     } else {
4865       tmp___8 = 0;   4865       tmp___8 = 0;
4866     }   4866     }
4867     tmp___9 = __builtin_expect((long )tmp___8, 0L);   4867     tmp___9 = __builtin_expect((long )tmp___8, 0L);
4868     if (tmp___9) {   4868     if (tmp___9) {
4869       vgPlain_debugLog(1, "gdbsrv", "result safe_fd %d\n", fd);   4869       vgPlain_debugLog(1, "gdbsrv", "result safe_fd %d\n", fd);
4870     } else {   4870     } else {
4871     4871  
4872     }   4872     }
4873     break;   4873     break;
4874   }   4874   }
4875   if (fd == -1) {   4875   if (fd == -1) {
4876     fatal("safe_fd for vgdb FIFO failed\n");   4876     fatal("safe_fd for vgdb FIFO failed\n");
4877   } else {   4877   } else {
4878     4878  
4879   }   4879   }
4880   return (fd);   4880   return (fd);
4881 }   4881 }
4882 }   4882 }
4883 void remote_utils_output_status(void)   4883 void remote_utils_output_status(void)
4884 {   4884 {
4885     4885  
4886     4886  
4887   {   4887   {
4888   if ((unsigned int )shared == (unsigned int )((void *)0)) {   4888   if ((unsigned int )shared == (unsigned int )((void *)0)) {
4889     vgPlain_umsg("remote communication not initialized\n");   4889     vgPlain_umsg("remote communication not initialized\n");
4890   } else {   4890   } else {
4891     vgPlain_umsg("shared->written_by_vgdb %d shared->seen_by_valgrind %d\n",   4891     vgPlain_umsg("shared->written_by_vgdb %d shared->seen_by_valgrind %d\n",
4892                  shared->written_by_vgdb, shared->seen_by_valgrind);   4892                  shared->written_by_vgdb, shared->seen_by_valgrind);
4893   }   4893   }
4894   return;   4894   return;
4895 }   4895 }
4896 }   4896 }
4897 static int vgdb_state_looks_bad(char *where )   4897 static int vgdb_state_looks_bad(char *where )
4898 {   4898 {
4899   Int tmp ;   4899   Int tmp ;
4900   int tmp___0 ;   4900   int tmp___0 ;
4901     4901  
4902   {   4902   {
4903   tmp = vgPlain_kill(shared->vgdb_pid, 0);   4903   tmp = vgPlain_kill(shared->vgdb_pid, 0);
4904   if (tmp != 0) {   4904   if (tmp != 0) {
4905     return (1);   4905     return (1);
4906   } else {   4906   } else {
4907     4907  
4908   }   4908   }
4909   tmp___0 = remote_desc_activity(where);   4909   tmp___0 = remote_desc_activity(where);
4910   if (tmp___0 == 2) {   4910   if (tmp___0 == 2) {
4911     return (2);   4911     return (2);
4912   } else {   4912   } else {
4913     4913  
4914   }   4914   }
4915   if (remote_desc == -1) {   4915   if (remote_desc == -1) {
4916     return (3);   4916     return (3);
4917   } else {   4917   } else {
4918     4918  
4919   }   4919   }
4920   return (0);   4920   return (0);
4921 }   4921 }
4922 }   4922 }
4923 static void set_ptracer(void)   4923 static void set_ptracer(void)
4924 {   4924 {
4925     4925  
4926     4926  
4927   {   4927   {
4928   return;   4928   return;
4929 }   4929 }
4930 }   4930 }
4931 static int poll_cond(short revents )   4931 static int poll_cond(short revents )
4932 {   4932 {
4933     4933  
4934     4934  
4935   {   4935   {
4936   return ((int )revents & 56);   4936   return ((int )revents & 56);
4937 }   4937 }
4938 }   4938 }
4939 static int ensure_write_remote_desc(void)   4939 static int ensure_write_remote_desc(void)
4940 {   4940 {
4941   struct vki_pollfd write_remote_desc_ok ;   4941   struct vki_pollfd write_remote_desc_ok ;
4942   int ret ;   4942   int ret ;
4943   Int tmp ;   4943   Int tmp ;
4944   int tmp___0 ;   4944   int tmp___0 ;
4945   long tmp___1 ;   4945   long tmp___1 ;
4946   int tmp___2 ;   4946   int tmp___2 ;
4947   int tmp___3 ;   4947   int tmp___3 ;
4948     4948  
4949   {   4949   {
4950   if (write_remote_desc != -1) {   4950   if (write_remote_desc != -1) {
4951     write_remote_desc_ok.fd = write_remote_desc;   4951     write_remote_desc_ok.fd = write_remote_desc;
4952     write_remote_desc_ok.events = (short)4;   4952     write_remote_desc_ok.events = (short)4;
4953     write_remote_desc_ok.revents = (short)0;   4953     write_remote_desc_ok.revents = (short)0;
4954     ret = vgPlain_poll(& write_remote_desc_ok, 1, 0);   4954     ret = vgPlain_poll(& write_remote_desc_ok, 1, 0);
4955     if (ret) {   4955     if (ret) {
4956       tmp___2 = poll_cond(write_remote_desc_ok.revents);   4956       tmp___2 = poll_cond(write_remote_desc_ok.revents);
4957       if (tmp___2) {   4957       if (tmp___2) {
4958         while (1) {   4958         while (1) {
4959           tmp = vgPlain_debugLog_getLevel();   4959           tmp = vgPlain_debugLog_getLevel();
4960           if (tmp >= 1) {   4960           if (tmp >= 1) {
4961             tmp___0 = 1;   4961             tmp___0 = 1;
4962           } else {   4962           } else {
4963             tmp___0 = 0;   4963             tmp___0 = 0;
4964           }   4964           }
4965           tmp___1 = __builtin_expect((long )tmp___0, 0L);   4965           tmp___1 = __builtin_expect((long )tmp___0, 0L);
4966           if (tmp___1) {   4966           if (tmp___1) {
4967             vgPlain_debugLog(1, "gdbsrv",   4967             vgPlain_debugLog(1, "gdbsrv",
4968                              "POLLcond %d closing write_remote_desc %d\n",   4968                              "POLLcond %d closing write_remote_desc %d\n",
4969                              (int )write_remote_desc_ok.revents,   4969                              (int )write_remote_desc_ok.revents,
4970                              write_remote_desc);   4970                              write_remote_desc);
4971           } else {   4971           } else {
4972     4972  
4973           }   4973           }
4974           break;   4974           break;
4975         }   4975         }
4976         vgPlain_close(write_remote_desc);   4976         vgPlain_close(write_remote_desc);
4977         write_remote_desc = -1;   4977         write_remote_desc = -1;
4978       } else {   4978       } else {
4979     4979  
4980       }   4980       }
4981     } else {   4981     } else {
4982     4982  
4983     }   4983     }
4984   } else {   4984   } else {
4985     4985  
4986   }   4986   }
4987   if (write_remote_desc == -1) {   4987   if (write_remote_desc == -1) {
4988     tmp___3 = vgdb_state_looks_bad((char *)"bad?@ensure_write_remote_desc");   4988     tmp___3 = vgdb_state_looks_bad((char *)"bad?@ensure_write_remote_desc");
4989     if (tmp___3) {   4989     if (tmp___3) {
4990     4990  
4991     } else {   4991     } else {
4992       set_ptracer();   4992       set_ptracer();
4993       write_remote_desc = open_fifo((char *)"write", to_gdb, 1);   4993       write_remote_desc = open_fifo((char *)"write", to_gdb, 1);
4994     }   4994     }
4995   } else {   4995   } else {
4996     4996  
4997   }   4997   }
4998   return (write_remote_desc != -1);   4998   return (write_remote_desc != -1);
4999 }   4999 }
5000 }   5000 }
5001 static void safe_mknod(char *nod )   5001 static void safe_mknod(char *nod )
5002 {   5002 {
5003   SysRes m ;   5003   SysRes m ;
5004   UWord tmp ;   5004   UWord tmp ;
5005   Bool tmp___0 ;   5005   Bool tmp___0 ;
5006     5006  
5007   {   5007   {
5008   m = vgPlain_mknod((Char const   *)nod, 4534, (UWord )0);   5008   m = vgPlain_mknod((Char const   *)nod, 4534, (UWord )0);
5009   tmp___0 = sr_isError(m);   5009   tmp___0 = sr_isError(m);
5010   if (tmp___0) {   5010   if (tmp___0) {
5011     tmp = sr_Err(m);   5011     tmp = sr_Err(m);
5012     if (tmp == 17UL) {   5012     if (tmp == 17UL) {
5013       if (vgPlain_clo_verbosity > 1) {   5013       if (vgPlain_clo_verbosity > 1) {
5014         vgPlain_umsg("%s already created\n", nod);   5014         vgPlain_umsg("%s already created\n", nod);
5015       } else {   5015       } else {
5016     5016  
5017       }   5017       }
5018     } else {   5018     } else {
5019       sr_perror(m, (char *)"mknod %s\n", nod);   5019       sr_perror(m, (char *)"mknod %s\n", nod);
5020       vgPlain_umsg("valgrind: fatal error: vgdb FIFOs cannot be created.\n");   5020       vgPlain_umsg("valgrind: fatal error: vgdb FIFOs cannot be created.\n");
5021       vgPlain_exit(1);   5021       vgPlain_exit(1);
5022     }   5022     }
5023   } else {   5023   } else {
5024     5024  
5025   }   5025   }
5026   return;   5026   return;
5027 }   5027 }
5028 }   5028 }
5029 void remote_open(char *name )   5029 void remote_open(char *name )
5030 {   5030 {
5031   int save_fcntl_flags ;   5031   int save_fcntl_flags ;
5032   VgdbShared vgdbinit ;   5032   VgdbShared vgdbinit ;
5033   int pid ;   5033   int pid ;
5034   Int tmp ;   5034   Int tmp ;
5035   int name_default ;   5035   int name_default ;
5036   Int tmp___0 ;   5036   Int tmp___0 ;
5037   Addr addr_shared ;   5037   Addr addr_shared ;
5038   SysRes o ;   5038   SysRes o ;
5039   int shared_mem_fd ;   5039   int shared_mem_fd ;
5040   SizeT tmp___1 ;   5040   SizeT tmp___1 ;
5041   void *tmp___2 ;   5041   void *tmp___2 ;
5042   SizeT tmp___3 ;   5042   SizeT tmp___3 ;
5043   void *tmp___4 ;   5043   void *tmp___4 ;
5044   SizeT tmp___5 ;   5044   SizeT tmp___5 ;
5045   void *tmp___6 ;   5045   void *tmp___6 ;
5046   char const   *tmp___7 ;   5046   char const   *tmp___7 ;
5047   char const   *tmp___8 ;   5047   char const   *tmp___8 ;
5048   char const   *tmp___9 ;   5048   char const   *tmp___9 ;
5049   char const   *tmp___10 ;   5049   char const   *tmp___10 ;
5050   UWord tmp___11 ;   5050   UWord tmp___11 ;
5051   Bool tmp___12 ;   5051   Bool tmp___12 ;
5052   Int tmp___13 ;   5052   Int tmp___13 ;
5053   SysRes res ;   5053   SysRes res ;
5054   SysRes tmp___14 ;   5054   SysRes tmp___14 ;
5055   Bool tmp___15 ;   5055   Bool tmp___15 ;
5056     5056  
5057   {   5057   {
5058   vgdbinit.vgdb_pid = 0;   5058   vgdbinit.vgdb_pid = 0;
5059   vgdbinit.written_by_vgdb = (int volatile   )0;   5059   vgdbinit.written_by_vgdb = (int volatile   )0;
5060   vgdbinit.seen_by_valgrind = (int volatile   )0;   5060   vgdbinit.seen_by_valgrind = (int volatile   )0;
5061   vgdbinit.invoke_gdbserver = (Addr32 )((Addr )(& vgPlain_invoke_gdbserver));   5061   vgdbinit.invoke_gdbserver = (Addr32 )((Addr )(& vgPlain_invoke_gdbserver));
5062   vgdbinit.threads = (Addr32 )((Addr )(vgPlain_threads));   5062   vgdbinit.threads = (Addr32 )((Addr )(vgPlain_threads));
5063   vgdbinit.sizeof_ThreadState = (int )sizeof(ThreadState );   5063   vgdbinit.sizeof_ThreadState = (int )sizeof(ThreadState );
5064   vgdbinit.offset_status = (Int )((HWord )(& ((ThreadState *)0)->status));   5064   vgdbinit.offset_status = (Int )((HWord )(& ((ThreadState *)0)->status));
5065   vgdbinit.offset_lwpid = (Int )((HWord )(& ((ThreadState *)0)->os_state)) + (Int )((HWord )(& ((ThreadOSstate *)0)->lwpid));   5065   vgdbinit.offset_lwpid = (Int )((HWord )(& ((ThreadState *)0)->os_state)) + (Int )((HWord )(& ((ThreadOSstate *)0)->lwpid));
5066   tmp = vgPlain_getpid();   5066   tmp = vgPlain_getpid();
5067   pid = tmp;   5067   pid = tmp;
5068   tmp___0 = vgPlain_strcmp((Char const   *)((Char *)name),   5068   tmp___0 = vgPlain_strcmp((Char const   *)((Char *)name),
5069                            (Char const   *)((Char *)"/tmp/vgdb-pipe"));   5069                            (Char const   *)((Char *)"/tmp/vgdb-pipe"));
5070   name_default = tmp___0 == 0;   5070   name_default = tmp___0 == 0;
5071   shared_mem_fd = -1;   5071   shared_mem_fd = -1;
5072   if ((unsigned int )from_gdb != (unsigned int )((void *)0)) {   5072   if ((unsigned int )from_gdb != (unsigned int )((void *)0)) {
5073     vgPlain_arena_free(0, (void *)from_gdb);   5073     vgPlain_arena_free(0, (void *)from_gdb);
5074   } else {   5074   } else {
5075     5075  
5076   }   5076   }
5077   tmp___1 = vgPlain_strlen((Char const   *)((Char *)name));   5077   tmp___1 = vgPlain_strlen((Char const   *)((Char *)name));
5078   tmp___2 = vgPlain_arena_malloc(0, (HChar *)"gdbsrv", tmp___1 + 30UL);   5078   tmp___2 = vgPlain_arena_malloc(0, (HChar *)"gdbsrv", tmp___1 + 30UL);
5079   from_gdb = (char *)tmp___2;   5079   from_gdb = (char *)tmp___2;
5080   if ((unsigned int )to_gdb != (unsigned int )((void *)0)) {   5080   if ((unsigned int )to_gdb != (unsigned int )((void *)0)) {
5081     vgPlain_arena_free(0, (void *)to_gdb);   5081     vgPlain_arena_free(0, (void *)to_gdb);
5082   } else {   5082   } else {
5083     5083  
5084   }   5084   }
5085   tmp___3 = vgPlain_strlen((Char const   *)((Char *)name));   5085   tmp___3 = vgPlain_strlen((Char const   *)((Char *)name));
5086   tmp___4 = vgPlain_arena_malloc(0, (HChar *)"gdbsrv", tmp___3 + 30UL);   5086   tmp___4 = vgPlain_arena_malloc(0, (HChar *)"gdbsrv", tmp___3 + 30UL);
5087   to_gdb = (char *)tmp___4;   5087   to_gdb = (char *)tmp___4;
5088   if ((unsigned int )shared_mem != (unsigned int )((void *)0)) {   5088   if ((unsigned int )shared_mem != (unsigned int )((void *)0)) {
5089     vgPlain_arena_free(0, (void *)shared_mem);   5089     vgPlain_arena_free(0, (void *)shared_mem);
5090   } else {   5090   } else {
5091     5091  
5092   }   5092   }
5093   tmp___5 = vgPlain_strlen((Char const   *)((Char *)name));   5093   tmp___5 = vgPlain_strlen((Char const   *)((Char *)name));
5094   tmp___6 = vgPlain_arena_malloc(0, (HChar *)"gdbsrv", tmp___5 + 30UL);   5094   tmp___6 = vgPlain_arena_malloc(0, (HChar *)"gdbsrv", tmp___5 + 30UL);
5095   shared_mem = (char *)tmp___6;   5095   shared_mem = (char *)tmp___6;
5096   vgPlain_sprintf((Char *)from_gdb, "%s-from-vgdb-to-%d", name, pid);   5096   vgPlain_sprintf((Char *)from_gdb, "%s-from-vgdb-to-%d", name, pid);
5097   vgPlain_sprintf((Char *)to_gdb, "%s-to-vgdb-from-%d", name, pid);   5097   vgPlain_sprintf((Char *)to_gdb, "%s-to-vgdb-from-%d", name, pid);
5098   vgPlain_sprintf((Char *)shared_mem, "%s-shared-mem-vgdb-%d", name, pid);   5098   vgPlain_sprintf((Char *)shared_mem, "%s-shared-mem-vgdb-%d", name, pid);
5099   if (vgPlain_clo_verbosity > 1) {   5099   if (vgPlain_clo_verbosity > 1) {
5100     vgPlain_umsg("embedded gdbserver: reading from %s\n", from_gdb);   5100     vgPlain_umsg("embedded gdbserver: reading from %s\n", from_gdb);
5101     vgPlain_umsg("embedded gdbserver: writing to   %s\n", to_gdb);   5101     vgPlain_umsg("embedded gdbserver: writing to   %s\n", to_gdb);
5102     vgPlain_umsg("embedded gdbserver: shared mem   %s\n", shared_mem);   5102     vgPlain_umsg("embedded gdbserver: shared mem   %s\n", shared_mem);
5103     if (name_default) {   5103     if (name_default) {
5104       tmp___7 = "";   5104       tmp___7 = "";
5105     } else {   5105     } else {
5106       tmp___7 = (char const   *)name;   5106       tmp___7 = (char const   *)name;
5107     }   5107     }
5108     if (name_default) {   5108     if (name_default) {
5109       tmp___8 = "";   5109       tmp___8 = "";
5110     } else {   5110     } else {
5111       tmp___8 = " --vgdb=";   5111       tmp___8 = " --vgdb=";
5112     }   5112     }
5113     vgPlain_umsg("CONTROL ME using: vgdb --pid=%d%s%s ...command...\n", pid,   5113     vgPlain_umsg("CONTROL ME using: vgdb --pid=%d%s%s ...command...\n", pid,
5114                  tmp___8, tmp___7);   5114                  tmp___8, tmp___7);
5115     if (name_default) {   5115     if (name_default) {
5116       tmp___9 = "";   5116       tmp___9 = "";
5117     } else {   5117     } else {
5118       tmp___9 = (char const   *)name;   5118       tmp___9 = (char const   *)name;
5119     }   5119     }
5120     if (name_default) {   5120     if (name_default) {
5121       tmp___10 = "";   5121       tmp___10 = "";
5122     } else {   5122     } else {
5123       tmp___10 = " --vgdb=";   5123       tmp___10 = " --vgdb=";
5124     }   5124     }
5125     vgPlain_umsg("DEBUG ME using: (gdb) target remote | vgdb --pid=%d%s%s\n",   5125     vgPlain_umsg("DEBUG ME using: (gdb) target remote | vgdb --pid=%d%s%s\n",
5126                  pid, tmp___10, tmp___9);   5126                  pid, tmp___10, tmp___9);
5127     vgPlain_umsg("   --pid optional if only one valgrind process is running\n");   5127     vgPlain_umsg("   --pid optional if only one valgrind process is running\n");
5128   } else {   5128   } else {
5129     5129  
5130   }   5130   }
5131   if (! mknod_done) {   5131   if (! mknod_done) {
5132     mknod_done ++;   5132     mknod_done ++;
5133     safe_mknod(from_gdb);   5133     safe_mknod(from_gdb);
5134     safe_mknod(to_gdb);   5134     safe_mknod(to_gdb);
5135     pid_from_to_creator = pid;   5135     pid_from_to_creator = pid;
5136     o = vgPlain_open((Char const   *)shared_mem, 66, 438);   5136     o = vgPlain_open((Char const   *)shared_mem, 66, 438);
5137     tmp___12 = sr_isError(o);   5137     tmp___12 = sr_isError(o);
5138     if (tmp___12) {   5138     if (tmp___12) {
5139       sr_perror(o, (char *)"cannot create shared_mem file %s\n", shared_mem);   5139       sr_perror(o, (char *)"cannot create shared_mem file %s\n", shared_mem);
5140       fatal("");   5140       fatal("");
5141     } else {   5141     } else {
5142       tmp___11 = sr_Res(o);   5142       tmp___11 = sr_Res(o);
5143       shared_mem_fd = (int )tmp___11;   5143       shared_mem_fd = (int )tmp___11;
5144     }   5144     }
5145     tmp___13 = vgPlain_write(shared_mem_fd, (void const   *)(& vgdbinit),   5145     tmp___13 = vgPlain_write(shared_mem_fd, (void const   *)(& vgdbinit),
5146                              (Int )sizeof(VgdbShared ));   5146                              (Int )sizeof(VgdbShared ));
5147     if ((unsigned int )tmp___13 != sizeof(VgdbShared )) {   5147     if ((unsigned int )tmp___13 != sizeof(VgdbShared )) {
5148       fatal("error writing %d bytes to shared mem %s\n",   5148       fatal("error writing %d bytes to shared mem %s\n",
5149             (int )sizeof(VgdbShared ), shared_mem);   5149             (int )sizeof(VgdbShared ), shared_mem);
5150     } else {   5150     } else {
5151     5151  
5152     }   5152     }
5153     tmp___14 = vgPlain_am_shared_mmap_file_float_valgrind((SizeT )sizeof(VgdbShared ),   5153     tmp___14 = vgPlain_am_shared_mmap_file_float_valgrind((SizeT )sizeof(VgdbShared ),
5154                                                           (UInt )3,   5154                                                           (UInt )3,
5155                                                           shared_mem_fd,   5155                                                           shared_mem_fd,
5156                                                           (Off64T )0);   5156                                                           (Off64T )0);
5157     res = tmp___14;   5157     res = tmp___14;
5158     tmp___15 = sr_isError(res);   5158     tmp___15 = sr_isError(res);
5159     if (tmp___15) {   5159     if (tmp___15) {
5160       sr_perror(res,   5160       sr_perror(res,
5161                 (char *)"error VG_(am_shared_mmap_file_float_valgrind) %s\n",   5161                 (char *)"error VG_(am_shared_mmap_file_float_valgrind) %s\n",
5162                 shared_mem);   5162                 shared_mem);
5163       fatal("");   5163       fatal("");
5164     } else {   5164     } else {
5165     5165  
5166     }   5166     }
5167     addr_shared = sr_Res(res);   5167     addr_shared = sr_Res(res);
5168     shared = (VgdbShared *)addr_shared;   5168     shared = (VgdbShared *)addr_shared;
5169     vgPlain_close(shared_mem_fd);   5169     vgPlain_close(shared_mem_fd);
5170   } else {   5170   } else {
5171     5171  
5172   }   5172   }
5173   remote_desc = open_fifo((char *)"read", from_gdb, 2048);   5173   remote_desc = open_fifo((char *)"read", from_gdb, 2048);
5174   save_fcntl_flags = vgPlain_fcntl(remote_desc, 3, (Addr )0);   5174   save_fcntl_flags = vgPlain_fcntl(remote_desc, 3, (Addr )0);
5175   vgPlain_fcntl(remote_desc, 4, (Addr )(save_fcntl_flags & -2049));   5175   vgPlain_fcntl(remote_desc, 4, (Addr )(save_fcntl_flags & -2049));
5176   remote_desc_pollfdread_activity.fd = remote_desc;   5176   remote_desc_pollfdread_activity.fd = remote_desc;
5177   remote_desc_pollfdread_activity.events = (short)1;   5177   remote_desc_pollfdread_activity.events = (short)1;
5178   remote_desc_pollfdread_activity.revents = (short)0;   5178   remote_desc_pollfdread_activity.revents = (short)0;
5179   return;   5179   return;
5180 }   5180 }
5181 }   5181 }
5182 void sync_gdb_connection(void)   5182 void sync_gdb_connection(void)
5183 {   5183 {
5184     5184  
5185     5185  
5186   {   5186   {
5187   vgPlain_poll((struct vki_pollfd *)0, 0, 100);   5187   vgPlain_poll((struct vki_pollfd *)0, 0, 100);
5188   return;   5188   return;
5189 }   5189 }
5190 }   5190 }
5191 static char *ppFinishReason(FinishReason reason )   5191 static char *ppFinishReason(FinishReason reason )
5192 {   5192 {
5193   long tmp ;   5193   long tmp ;
5194     5194  
5195   {   5195   {
5196   switch ((unsigned int )reason) {   5196   switch ((unsigned int )reason) {
5197   case 0U:   5197   case 0U:
5198   return ((char *)"orderly_finish");   5198   return ((char *)"orderly_finish");
5199   case 1U:   5199   case 1U:
5200   return ((char *)"reset_after_error");   5200   return ((char *)"reset_after_error");
5201   case 2U:   5201   case 2U:
5202   return ((char *)"reset_after_fork");   5202   return ((char *)"reset_after_fork");
5203   default:   5203   default:
5204   tmp = __builtin_expect(0L, 1L);   5204   tmp = __builtin_expect(0L, 1L);
5205   if (tmp) {   5205   if (tmp) {
5206     5206  
5207   } else {   5207   } else {
5208     vgPlain_assert_fail((Bool )1, (Char const   *)"0",   5208     vgPlain_assert_fail((Bool )1, (Char const   *)"0",
5209                         (Char const   *)"m_gdbserver/remote-utils.c", 330,   5209                         (Char const   *)"m_gdbserver/remote-utils.c", 330,
5210                         (Char const   *)"ppFinishReason", "");   5210                         (Char const   *)"ppFinishReason", "");
5211   }   5211   }
5212   }   5212   }
5213   return ((char *)0);   5213   return ((char *)0);
5214 }   5214 }
5215 }   5215 }
5216 void remote_finish(FinishReason reason )   5216 void remote_finish(FinishReason reason )
5217 {   5217 {
5218   char *tmp ;   5218   char *tmp ;
5219   Int tmp___0 ;   5219   Int tmp___0 ;
5220   int tmp___1 ;   5220   int tmp___1 ;
5221   long tmp___2 ;   5221   long tmp___2 ;
5222   char *tmp___3 ;   5222   char *tmp___3 ;
5223     5223  
5224   {   5224   {
5225   while (1) {   5225   while (1) {
5226     tmp___0 = vgPlain_debugLog_getLevel();   5226     tmp___0 = vgPlain_debugLog_getLevel();
5227     if (tmp___0 >= 1) {   5227     if (tmp___0 >= 1) {
5228       tmp___1 = 1;   5228       tmp___1 = 1;
5229     } else {   5229     } else {
5230       tmp___1 = 0;   5230       tmp___1 = 0;
5231     }   5231     }
5232     tmp___2 = __builtin_expect((long )tmp___1, 0L);   5232     tmp___2 = __builtin_expect((long )tmp___1, 0L);
5233     if (tmp___2) {   5233     if (tmp___2) {
5234       tmp = ppFinishReason(reason);   5234       tmp = ppFinishReason(reason);
5235       vgPlain_debugLog(1, "gdbsrv", "remote_finish (reason %s) %d %d\n", tmp,   5235       vgPlain_debugLog(1, "gdbsrv", "remote_finish (reason %s) %d %d\n", tmp,
5236                        remote_desc, write_remote_desc);   5236                        remote_desc, write_remote_desc);
5237     } else {   5237     } else {
5238     5238  
5239     }   5239     }
5240     break;   5240     break;
5241   }   5241   }
5242   tmp___3 = ppFinishReason(reason);   5242   tmp___3 = ppFinishReason(reason);
5243   reset_valgrind_sink(tmp___3);   5243   reset_valgrind_sink(tmp___3);
5244   if (write_remote_desc != -1) {   5244   if (write_remote_desc != -1) {
5245     vgPlain_close(write_remote_desc);   5245     vgPlain_close(write_remote_desc);
5246   } else {   5246   } else {
5247     5247  
5248   }   5248   }
5249   write_remote_desc = -1;   5249   write_remote_desc = -1;
5250   if (remote_desc != -1) {   5250   if (remote_desc != -1) {
5251     remote_desc_pollfdread_activity.fd = -1;   5251     remote_desc_pollfdread_activity.fd = -1;
5252     remote_desc_pollfdread_activity.events = (short)0;   5252     remote_desc_pollfdread_activity.events = (short)0;
5253     remote_desc_pollfdread_activity.revents = (short)0;   5253     remote_desc_pollfdread_activity.revents = (short)0;
5254     vgPlain_close(remote_desc);   5254     vgPlain_close(remote_desc);
5255   } else {   5255   } else {
5256     5256  
5257   }   5257   }
5258   remote_desc = -1;   5258   remote_desc = -1;
5259   noack_mode = (Bool )0;   5259   noack_mode = (Bool )0;
5260   if ((unsigned int )reason == 2U) {   5260   if ((unsigned int )reason == 2U) {
5261     mknod_done = 0;   5261     mknod_done = 0;
5262   } else {   5262   } else {
5263     5263  
5264   }   5264   }
5265   if ((unsigned int )reason == 1U) {   5265   if ((unsigned int )reason == 1U) {
5266     sync_gdb_connection();   5266     sync_gdb_connection();
5267   } else {   5267   } else {
5268     5268  
5269   }   5269   }
5270   return;   5270   return;
5271 }   5271 }
5272 }   5272 }
5273 void remote_close(void)   5273 void remote_close(void)
5274 {   5274 {
5275   int pid ;   5275   int pid ;
5276   Int tmp ;   5276   Int tmp ;
5277   Int tmp___0 ;   5277   Int tmp___0 ;
5278   int tmp___1 ;   5278   int tmp___1 ;
5279   long tmp___2 ;   5279   long tmp___2 ;
5280   Int tmp___3 ;   5280   Int tmp___3 ;
5281   Int tmp___4 ;   5281   Int tmp___4 ;
5282   Int tmp___5 ;   5282   Int tmp___5 ;
5283   Int tmp___6 ;   5283   Int tmp___6 ;
5284   int tmp___7 ;   5284   int tmp___7 ;
5285   long tmp___8 ;   5285   long tmp___8 ;
5286     5286  
5287   {   5287   {
5288   tmp = vgPlain_getpid();   5288   tmp = vgPlain_getpid();
5289   pid = tmp;   5289   pid = tmp;
5290   remote_finish((FinishReason )0);   5290   remote_finish((FinishReason )0);
5291   if (pid == pid_from_to_creator) {   5291   if (pid == pid_from_to_creator) {
5292     while (1) {   5292     while (1) {
5293       tmp___0 = vgPlain_debugLog_getLevel();   5293       tmp___0 = vgPlain_debugLog_getLevel();
5294       if (tmp___0 >= 1) {   5294       if (tmp___0 >= 1) {
5295         tmp___1 = 1;   5295         tmp___1 = 1;
5296       } else {   5296       } else {
5297         tmp___1 = 0;   5297         tmp___1 = 0;
5298       }   5298       }
5299       tmp___2 = __builtin_expect((long )tmp___1, 0L);   5299       tmp___2 = __builtin_expect((long )tmp___1, 0L);
5300       if (tmp___2) {   5300       if (tmp___2) {
5301         vgPlain_debugLog(1, "gdbsrv", "unlinking\n    %s\n    %s\n    %s\n",   5301         vgPlain_debugLog(1, "gdbsrv", "unlinking\n    %s\n    %s\n    %s\n",
5302                          from_gdb, to_gdb, shared_mem);   5302                          from_gdb, to_gdb, shared_mem);
5303       } else {   5303       } else {
5304     5304  
5305       }   5305       }
5306       break;   5306       break;
5307     }   5307     }
5308     tmp___3 = vgPlain_unlink((Char const   *)from_gdb);   5308     tmp___3 = vgPlain_unlink((Char const   *)from_gdb);
5309     if (tmp___3 == -1) {   5309     if (tmp___3 == -1) {
5310       warning("could not unlink %s\n", from_gdb);   5310       warning("could not unlink %s\n", from_gdb);
5311     } else {   5311     } else {
5312     5312  
5313     }   5313     }
5314     tmp___4 = vgPlain_unlink((Char const   *)to_gdb);   5314     tmp___4 = vgPlain_unlink((Char const   *)to_gdb);
5315     if (tmp___4 == -1) {   5315     if (tmp___4 == -1) {
5316       warning("could not unlink %s\n", to_gdb);   5316       warning("could not unlink %s\n", to_gdb);
5317     } else {   5317     } else {
5318     5318  
5319     }   5319     }
5320     tmp___5 = vgPlain_unlink((Char const   *)shared_mem);   5320     tmp___5 = vgPlain_unlink((Char const   *)shared_mem);
5321     if (tmp___5 == -1) {   5321     if (tmp___5 == -1) {
5322       warning("could not unlink %s\n", shared_mem);   5322       warning("could not unlink %s\n", shared_mem);
5323     } else {   5323     } else {
5324     5324  
5325     }   5325     }
5326   } else {   5326   } else {
5327     while (1) {   5327     while (1) {
5328       tmp___6 = vgPlain_debugLog_getLevel();   5328       tmp___6 = vgPlain_debugLog_getLevel();
5329       if (tmp___6 >= 1) {   5329       if (tmp___6 >= 1) {
5330         tmp___7 = 1;   5330         tmp___7 = 1;
5331       } else {   5331       } else {
5332         tmp___7 = 0;   5332         tmp___7 = 0;
5333       }   5333       }
5334       tmp___8 = __builtin_expect((long )tmp___7, 0L);   5334       tmp___8 = __builtin_expect((long )tmp___7, 0L);
5335       if (tmp___8) {   5335       if (tmp___8) {
5336         vgPlain_debugLog(1, "gdbsrv",   5336         vgPlain_debugLog(1, "gdbsrv",
5337                          "not creator => not unlinking %s and %s\n", from_gdb,   5337                          "not creator => not unlinking %s and %s\n", from_gdb,
5338                          to_gdb);   5338                          to_gdb);
5339       } else {   5339       } else {
5340     5340  
5341       }   5341       }
5342       break;   5342       break;
5343     }   5343     }
5344   }   5344   }
5345   vgPlain_arena_free(0, (void *)from_gdb);   5345   vgPlain_arena_free(0, (void *)from_gdb);
5346   vgPlain_arena_free(0, (void *)to_gdb);   5346   vgPlain_arena_free(0, (void *)to_gdb);
5347   return;   5347   return;
5348 }   5348 }
5349 }   5349 }
5350 Bool remote_connected(void)   5350 Bool remote_connected(void)
5351 {   5351 {
5352     5352  
5353     5353  
5354   {   5354   {
5355   return ((Bool )(write_remote_desc != -1));   5355   return ((Bool )(write_remote_desc != -1));
5356 }   5356 }
5357 }   5357 }
5358 static void error_poll_cond(void)   5358 static void error_poll_cond(void)
5359 {   5359 {
5360     5360  
5361     5361  
5362   {   5362   {
5363   shared->seen_by_valgrind = shared->written_by_vgdb;   5363   shared->seen_by_valgrind = shared->written_by_vgdb;
5364   remote_finish((FinishReason )1);   5364   remote_finish((FinishReason )1);
5365   return;   5365   return;
5366 }   5366 }
5367 }   5367 }
5368 int remote_desc_activity(char *msg )   5368 int remote_desc_activity(char *msg )
5369 {   5369 {
5370   int ret ;   5370   int ret ;
5371   int looking_at ;   5371   int looking_at ;
5372   Int tmp ;   5372   Int tmp ;
5373   int tmp___0 ;   5373   int tmp___0 ;
5374   long tmp___1 ;   5374   long tmp___1 ;
5375   int tmp___2 ;   5375   int tmp___2 ;
5376   Int tmp___3 ;   5376   Int tmp___3 ;
5377   int tmp___4 ;   5377   int tmp___4 ;
5378   long tmp___5 ;   5378   long tmp___5 ;
5379     5379  
5380   {   5380   {
5381   looking_at = (int )shared->written_by_vgdb;   5381   looking_at = (int )shared->written_by_vgdb;
5382   if (shared->seen_by_valgrind == (int volatile   )looking_at) {   5382   if (shared->seen_by_valgrind == (int volatile   )looking_at) {
5383     return (0);   5383     return (0);
5384   } else {   5384   } else {
5385     5385  
5386   }   5386   }
5387   if (remote_desc == -1) {   5387   if (remote_desc == -1) {
5388     return (0);   5388     return (0);
5389   } else {   5389   } else {
5390     5390  
5391   }   5391   }
5392   remote_desc_pollfdread_activity.revents = (short)0;   5392   remote_desc_pollfdread_activity.revents = (short)0;
5393   ret = vgPlain_poll(& remote_desc_pollfdread_activity, 1, 0);   5393   ret = vgPlain_poll(& remote_desc_pollfdread_activity, 1, 0);
5394   if (ret) {   5394   if (ret) {
5395     tmp___2 = poll_cond(remote_desc_pollfdread_activity.revents);   5395     tmp___2 = poll_cond(remote_desc_pollfdread_activity.revents);
5396     if (tmp___2) {   5396     if (tmp___2) {
5397       while (1) {   5397       while (1) {
5398         tmp = vgPlain_debugLog_getLevel();   5398         tmp = vgPlain_debugLog_getLevel();
5399         if (tmp >= 1) {   5399         if (tmp >= 1) {
5400           tmp___0 = 1;   5400           tmp___0 = 1;
5401         } else {   5401         } else {
5402           tmp___0 = 0;   5402           tmp___0 = 0;
5403         }   5403         }
5404         tmp___1 = __builtin_expect((long )tmp___0, 0L);   5404         tmp___1 = __builtin_expect((long )tmp___0, 0L);
5405         if (tmp___1) {   5405         if (tmp___1) {
5406           vgPlain_debugLog(1, "gdbsrv",   5406           vgPlain_debugLog(1, "gdbsrv",
5407                            "POLLcond %d remote_desc_pollfdread %d\n",   5407                            "POLLcond %d remote_desc_pollfdread %d\n",
5408                            (int )remote_desc_pollfdread_activity.revents,   5408                            (int )remote_desc_pollfdread_activity.revents,
5409                            remote_desc);   5409                            remote_desc);
5410         } else {   5410         } else {
5411     5411  
5412         }   5412         }
5413         break;   5413         break;
5414       }   5414       }
5415       error_poll_cond();   5415       error_poll_cond();
5416       ret = 2;   5416       ret = 2;
5417     } else {   5417     } else {
5418     5418  
5419     }   5419     }
5420   } else {   5420   } else {
5421     5421  
5422   }   5422   }
5423   while (1) {   5423   while (1) {
5424     tmp___3 = vgPlain_debugLog_getLevel();   5424     tmp___3 = vgPlain_debugLog_getLevel();
5425     if (tmp___3 >= 1) {   5425     if (tmp___3 >= 1) {
5426       tmp___4 = 1;   5426       tmp___4 = 1;
5427     } else {   5427     } else {
5428       tmp___4 = 0;   5428       tmp___4 = 0;
5429     }   5429     }
5430     tmp___5 = __builtin_expect((long )tmp___4, 0L);   5430     tmp___5 = __builtin_expect((long )tmp___4, 0L);
5431     if (tmp___5) {   5431     if (tmp___5) {
5432       vgPlain_debugLog(1, "gdbsrv",   5432       vgPlain_debugLog(1, "gdbsrv",
5433                        "remote_desc_activity %s %d last_looked_cntr %d looking_at %d shared->written_by_vgdb %d shared->seen_by_valgrind %d ret %d\n",   5433                        "remote_desc_activity %s %d last_looked_cntr %d looking_at %d shared->written_by_vgdb %d shared->seen_by_valgrind %d ret %d\n",
5434                        msg, remote_desc, last_looked_cntr, looking_at,   5434                        msg, remote_desc, last_looked_cntr, looking_at,
5435                        shared->written_by_vgdb, shared->seen_by_valgrind, ret);   5435                        shared->written_by_vgdb, shared->seen_by_valgrind, ret);
5436     } else {   5436     } else {
5437     5437  
5438     }   5438     }
5439     break;   5439     break;
5440   }   5440   }
5441   if (ret != 2) {   5441   if (ret != 2) {
5442     last_looked_cntr = looking_at;   5442     last_looked_cntr = looking_at;
5443   } else {   5443   } else {
5444     5444  
5445   }   5445   }
5446   return (ret);   5446   return (ret);
5447 }   5447 }
5448 }   5448 }
5449 static int fromhex(int a )   5449 static int fromhex(int a )
5450 {   5450 {
5451     5451  
5452     5452  
5453   {   5453   {
5454   if (a >= 48) {   5454   if (a >= 48) {
5455     if (a <= 57) {   5455     if (a <= 57) {
5456       return (a - 48);   5456       return (a - 48);
5457     } else {   5457     } else {
5458       goto _L;   5458       goto _L;
5459     }   5459     }
5460   } else   5460   } else
5461   _L: /* CIL Label */   5461   _L: /* CIL Label */
5462   if (a >= 97) {   5462   if (a >= 97) {
5463     if (a <= 102) {   5463     if (a <= 102) {
5464       return ((a - 97) + 10);   5464       return ((a - 97) + 10);
5465     } else {   5465     } else {
5466       error("Reply contains invalid hex digit 0x%x\n", a);   5466       error("Reply contains invalid hex digit 0x%x\n", a);
5467     }   5467     }
5468   } else {   5468   } else {
5469     error("Reply contains invalid hex digit 0x%x\n", a);   5469     error("Reply contains invalid hex digit 0x%x\n", a);
5470   }   5470   }
5471   return (0);   5471   return (0);
5472 }   5472 }
5473 }   5473 }
5474 int unhexify(char *bin , char const   *hex , int count )   5474 int unhexify(char *bin , char const   *hex , int count )
5475 {   5475 {
5476   int i ;   5476   int i ;
5477   char *tmp ;   5477   char *tmp ;
5478   int tmp___0 ;   5478   int tmp___0 ;
5479   int tmp___1 ;   5479   int tmp___1 ;
5480     5480  
5481   {   5481   {
5482   i = 0;   5482   i = 0;
5483   while (i < count) {   5483   while (i < count) {
5484     if ((int const   )*(hex + 0) == 0) {   5484     if ((int const   )*(hex + 0) == 0) {
5485       return (i);   5485       return (i);
5486     } else   5486     } else
5487     if ((int const   )*(hex + 1) == 0) {   5487     if ((int const   )*(hex + 1) == 0) {
5488       return (i);   5488       return (i);
5489     } else {   5489     } else {
5490     5490  
5491     }   5491     }
5492     tmp = bin;   5492     tmp = bin;
5493     bin ++;   5493     bin ++;
5494     tmp___0 = fromhex((int )*(hex + 0));   5494     tmp___0 = fromhex((int )*(hex + 0));
5495     tmp___1 = fromhex((int )*(hex + 1));   5495     tmp___1 = fromhex((int )*(hex + 1));
5496     *tmp = (char )(tmp___0 * 16 + tmp___1);   5496     *tmp = (char )(tmp___0 * 16 + tmp___1);
5497     hex += 2;   5497     hex += 2;
5498     i ++;   5498     i ++;
5499   }   5499   }
5500   return (i);   5500   return (i);
5501 }   5501 }
5502 }   5502 }
5503 void decode_address(CORE_ADDR *addrp , char const   *start , int len )   5503 void decode_address(CORE_ADDR *addrp , char const   *start , int len )
5504 {   5504 {
5505   CORE_ADDR addr ;   5505   CORE_ADDR addr ;
5506   char ch ;   5506   char ch ;
5507   int i ;   5507   int i ;
5508   int tmp ;   5508   int tmp ;
5509     5509  
5510   {   5510   {
5511   addr = (CORE_ADDR )0;   5511   addr = (CORE_ADDR )0;
5512   i = 0;   5512   i = 0;
5513   while (i < len) {   5513   while (i < len) {
5514     ch = (char )*(start + i);   5514     ch = (char )*(start + i);
5515     addr <<= 4;   5515     addr <<= 4;
5516     tmp = fromhex((int )ch);   5516     tmp = fromhex((int )ch);
5517     addr |= (unsigned long )(tmp & 15);   5517     addr |= (unsigned long )(tmp & 15);
5518     i ++;   5518     i ++;
5519   }   5519   }
5520   *addrp = addr;   5520   *addrp = addr;
5521   return;   5521   return;
5522 }   5522 }
5523 }   5523 }
5524 static int tohex(int nib )   5524 static int tohex(int nib )
5525 {   5525 {
5526     5526  
5527     5527  
5528   {   5528   {
5529   if (nib < 10) {   5529   if (nib < 10) {
5530     return (48 + nib);   5530     return (48 + nib);
5531   } else {   5531   } else {
5532     return ((97 + nib) - 10);   5532     return ((97 + nib) - 10);
5533   }   5533   }
5534 }   5534 }
5535 }   5535 }
5536 int hexify(char *hex , char const   *bin , int count )   5536 int hexify(char *hex , char const   *bin , int count )
5537 {   5537 {
5538   int i ;   5538   int i ;
5539   SizeT tmp ;   5539   SizeT tmp ;
5540   char *tmp___0 ;   5540   char *tmp___0 ;
5541   int tmp___1 ;   5541   int tmp___1 ;
5542   char *tmp___2 ;   5542   char *tmp___2 ;
5543   char const   *tmp___3 ;   5543   char const   *tmp___3 ;
5544   int tmp___4 ;   5544   int tmp___4 ;
5545     5545  
5546   {   5546   {
5547   if (count == 0) {   5547   if (count == 0) {
5548     tmp = vgPlain_strlen((Char const   *)((Char *)bin));   5548     tmp = vgPlain_strlen((Char const   *)((Char *)bin));
5549     count = (int )tmp;   5549     count = (int )tmp;
5550   } else {   5550   } else {
5551     5551  
5552   }   5552   }
5553   i = 0;   5553   i = 0;
5554   while (i < count) {   5554   while (i < count) {
5555     tmp___0 = hex;   5555     tmp___0 = hex;
5556     hex ++;   5556     hex ++;
5557     tmp___1 = tohex((int )(((int const   )*bin >> 4) & 15));   5557     tmp___1 = tohex((int )(((int const   )*bin >> 4) & 15));
5558     *tmp___0 = (char )tmp___1;   5558     *tmp___0 = (char )tmp___1;
5559     tmp___2 = hex;   5559     tmp___2 = hex;
5560     hex ++;   5560     hex ++;
5561     tmp___3 = bin;   5561     tmp___3 = bin;
5562     bin ++;   5562     bin ++;
5563     tmp___4 = tohex((int )((int const   )*tmp___3 & 15));   5563     tmp___4 = tohex((int )((int const   )*tmp___3 & 15));
5564     *tmp___2 = (char )tmp___4;   5564     *tmp___2 = (char )tmp___4;
5565     i ++;   5565     i ++;
5566   }   5566   }
5567   *hex = (char)0;   5567   *hex = (char)0;
5568   return (i);   5568   return (i);
5569 }   5569 }
5570 }   5570 }
5571 int remote_escape_output(gdb_byte const   *buffer , int len ,   5571 int remote_escape_output(gdb_byte const   *buffer , int len ,
5572                          gdb_byte *out_buf , int *out_len , int out_maxlen )   5572                          gdb_byte *out_buf , int *out_len , int out_maxlen )
5573 {   5573 {
5574   int input_index ;   5574   int input_index ;
5575   int output_index ;   5575   int output_index ;
5576   gdb_byte b ;   5576   gdb_byte b ;
5577   int tmp ;   5577   int tmp ;
5578   int tmp___0 ;   5578   int tmp___0 ;
5579   int tmp___1 ;   5579   int tmp___1 ;
5580     5580  
5581   {   5581   {
5582   output_index = 0;   5582   output_index = 0;
5583   input_index = 0;   5583   input_index = 0;
5584   while (input_index < len) {   5584   while (input_index < len) {
5585     b = (gdb_byte )*(buffer + input_index);   5585     b = (gdb_byte )*(buffer + input_index);
5586     if ((int )b == 36) {   5586     if ((int )b == 36) {
5587       goto _L;   5587       goto _L;
5588     } else   5588     } else
5589     if ((int )b == 35) {   5589     if ((int )b == 35) {
5590       goto _L;   5590       goto _L;
5591     } else   5591     } else
5592     if ((int )b == 125) {   5592     if ((int )b == 125) {
5593       goto _L;   5593       goto _L;
5594     } else   5594     } else
5595     if ((int )b == 42) {   5595     if ((int )b == 42) {
5596       _L: /* CIL Label */   5596       _L: /* CIL Label */
5597       if (output_index + 2 > out_maxlen) {   5597       if (output_index + 2 > out_maxlen) {
5598         break;   5598         break;
5599       } else {   5599       } else {
5600     5600  
5601       }   5601       }
5602       tmp = output_index;   5602       tmp = output_index;
5603       output_index ++;   5603       output_index ++;
5604       *(out_buf + tmp) = (gdb_byte )'}';   5604       *(out_buf + tmp) = (gdb_byte )'}';
5605       tmp___0 = output_index;   5605       tmp___0 = output_index;
5606       output_index ++;   5606       output_index ++;
5607       *(out_buf + tmp___0) = (gdb_byte )((int )b ^ 32);   5607       *(out_buf + tmp___0) = (gdb_byte )((int )b ^ 32);
5608     } else {   5608     } else {
5609       if (output_index + 1 > out_maxlen) {   5609       if (output_index + 1 > out_maxlen) {
5610         break;   5610         break;
5611       } else {   5611       } else {
5612     5612  
5613       }   5613       }
5614       tmp___1 = output_index;   5614       tmp___1 = output_index;
5615       output_index ++;   5615       output_index ++;
5616       *(out_buf + tmp___1) = b;   5616       *(out_buf + tmp___1) = b;
5617     }   5617     }
5618     input_index ++;   5618     input_index ++;
5619   }   5619   }
5620   *out_len = input_index;   5620   *out_len = input_index;
5621   return (output_index);   5621   return (output_index);
5622 }   5622 }
5623 }   5623 }
5624 static int remote_unescape_input(gdb_byte const   *buffer , int len ,   5624 static int remote_unescape_input(gdb_byte const   *buffer , int len ,
5625                                  gdb_byte *out_buf , int out_maxlen )   5625                                  gdb_byte *out_buf , int out_maxlen )
5626 {   5626 {
5627   int input_index ;   5627   int input_index ;
5628   int output_index ;   5628   int output_index ;
5629   int escaped ;   5629   int escaped ;
5630   gdb_byte b ;   5630   gdb_byte b ;
5631   int tmp ;   5631   int tmp ;
5632   int tmp___0 ;   5632   int tmp___0 ;
5633     5633  
5634   {   5634   {
5635   output_index = 0;   5635   output_index = 0;
5636   escaped = 0;   5636   escaped = 0;
5637   input_index = 0;   5637   input_index = 0;
5638   while (input_index < len) {   5638   while (input_index < len) {
5639     b = (gdb_byte )*(buffer + input_index);   5639     b = (gdb_byte )*(buffer + input_index);
5640     if (output_index + 1 > out_maxlen) {   5640     if (output_index + 1 > out_maxlen) {
5641       error("Received too much data (len %d) from the target.\n", len);   5641       error("Received too much data (len %d) from the target.\n", len);
5642     } else {   5642     } else {
5643     5643  
5644     }   5644     }
5645     if (escaped) {   5645     if (escaped) {
5646       tmp = output_index;   5646       tmp = output_index;
5647       output_index ++;   5647       output_index ++;
5648       *(out_buf + tmp) = (gdb_byte )((int )b ^ 32);   5648       *(out_buf + tmp) = (gdb_byte )((int )b ^ 32);
5649       escaped = 0;   5649       escaped = 0;
5650     } else   5650     } else
5651     if ((int )b == 125) {   5651     if ((int )b == 125) {
5652       escaped = 1;   5652       escaped = 1;
5653     } else {   5653     } else {
5654       tmp___0 = output_index;   5654       tmp___0 = output_index;
5655       output_index ++;   5655       output_index ++;
5656       *(out_buf + tmp___0) = b;   5656       *(out_buf + tmp___0) = b;
5657     }   5657     }
5658     input_index ++;   5658     input_index ++;
5659   }   5659   }
5660   if (escaped) {   5660   if (escaped) {
5661     error("Unmatched escape character in target response.\n");   5661     error("Unmatched escape character in target response.\n");
5662   } else {   5662   } else {
5663     5663  
5664   }   5664   }
5665   return (output_index);   5665   return (output_index);
5666 }   5666 }
5667 }   5667 }
5668 static int try_rle(char *buf , int remaining , unsigned char *csum , char **p )   5668 static int try_rle(char *buf , int remaining , unsigned char *csum , char **p )
5669 {   5669 {
5670   int n ;   5670   int n ;
5671   char *tmp ;   5671   char *tmp ;
5672   char *tmp___0 ;   5672   char *tmp___0 ;
5673   char *tmp___1 ;   5673   char *tmp___1 ;
5674     5674  
5675   {   5675   {
5676   *csum = (unsigned char )((int )*csum + (int )*(buf + 0));   5676   *csum = (unsigned char )((int )*csum + (int )*(buf + 0));
5677   tmp = *p;   5677   tmp = *p;
5678   (*p) ++;   5678   (*p) ++;
5679   *tmp = *(buf + 0);   5679   *tmp = *(buf + 0);
5680   if (remaining > 97) {   5680   if (remaining > 97) {
5681     remaining = 97;   5681     remaining = 97;
5682   } else {   5682   } else {
5683     5683  
5684   }   5684   }
5685   n = 1;   5685   n = 1;
5686   while (n < remaining) {   5686   while (n < remaining) {
5687     if ((int )*(buf + n) != (int )*(buf + 0)) {   5687     if ((int )*(buf + n) != (int )*(buf + 0)) {
5688       break;   5688       break;
5689     } else {   5689     } else {
5690     5690  
5691     }   5691     }
5692     n ++;   5692     n ++;
5693   }   5693   }
5694   n --;   5694   n --;
5695   if (n < 3) {   5695   if (n < 3) {
5696     return (1);   5696     return (1);
5697   } else {   5697   } else {
5698     5698  
5699   }   5699   }
5700   while (1) {   5700   while (1) {
5701     if (n + 29 == 36) {   5701     if (n + 29 == 36) {
5702     5702  
5703     } else   5703     } else
5704     if (n + 29 == 35) {   5704     if (n + 29 == 35) {
5705     5705  
5706     } else {   5706     } else {
5707       break;   5707       break;
5708     }   5708     }
5709     n --;   5709     n --;
5710   }   5710   }
5711   *csum = (unsigned char )((int )*csum + 42);   5711   *csum = (unsigned char )((int )*csum + 42);
5712   tmp___0 = *p;   5712   tmp___0 = *p;
5713   (*p) ++;   5713   (*p) ++;
5714   *tmp___0 = (char )'*';   5714   *tmp___0 = (char )'*';
5715   *csum = (unsigned char )((int )*csum + (n + 29));   5715   *csum = (unsigned char )((int )*csum + (n + 29));
5716   tmp___1 = *p;   5716   tmp___1 = *p;
5717   (*p) ++;   5717   (*p) ++;
5718   *tmp___1 = (char )(n + 29);   5718   *tmp___1 = (char )(n + 29);
5719   return (n + 1);   5719   return (n + 1);
5720 }   5720 }
5721 }   5721 }
5722 int putpkt_binary(char *buf , int cnt )   5722 int putpkt_binary(char *buf , int cnt )
5723 {   5723 {
5724   int i ;   5724   int i ;
5725   unsigned char csum ;   5725   unsigned char csum ;
5726   char *buf2 ;   5726   char *buf2 ;
5727   char *p ;   5727   char *p ;
5728   int cc ;   5728   int cc ;
5729   void *tmp ;   5729   void *tmp ;
5730   char *tmp___0 ;   5730   char *tmp___0 ;
5731   int tmp___1 ;   5731   int tmp___1 ;
5732   char *tmp___2 ;   5732   char *tmp___2 ;
5733   char *tmp___3 ;   5733   char *tmp___3 ;
5734   int tmp___4 ;   5734   int tmp___4 ;
5735   char *tmp___5 ;   5735   char *tmp___5 ;
5736   int tmp___6 ;   5736   int tmp___6 ;
5737   int tmp___7 ;   5737   int tmp___7 ;
5738   Int tmp___8 ;   5738   Int tmp___8 ;
5739   Int tmp___9 ;   5739   Int tmp___9 ;
5740   int tmp___10 ;   5740   int tmp___10 ;
5741   long tmp___11 ;   5741   long tmp___11 ;
5742   Int tmp___12 ;   5742   Int tmp___12 ;
5743   int tmp___13 ;   5743   int tmp___13 ;
5744   long tmp___14 ;   5744   long tmp___14 ;
5745   Int tmp___15 ;   5745   Int tmp___15 ;
5746   int tmp___16 ;   5746   int tmp___16 ;
5747   long tmp___17 ;   5747   long tmp___17 ;
5748   Int tmp___18 ;   5748   Int tmp___18 ;
5749   int tmp___19 ;   5749   int tmp___19 ;
5750   long tmp___20 ;   5750   long tmp___20 ;
5751     5751  
5752   {   5752   {
5753   csum = (unsigned char)0;   5753   csum = (unsigned char)0;
5754   tmp = vgPlain_arena_malloc(0, (HChar *)"gdbsrv", (SizeT )16384);   5754   tmp = vgPlain_arena_malloc(0, (HChar *)"gdbsrv", (SizeT )16384);
5755   buf2 = (char *)tmp;   5755   buf2 = (char *)tmp;
5756   p = buf2;   5756   p = buf2;
5757   tmp___0 = p;   5757   tmp___0 = p;
5758   p ++;   5758   p ++;
5759   *tmp___0 = (char )'$';   5759   *tmp___0 = (char )'$';
5760   i = 0;   5760   i = 0;
5761   while (i < cnt) {   5761   while (i < cnt) {
5762     tmp___1 = try_rle(buf + i, cnt - i, & csum, & p);   5762     tmp___1 = try_rle(buf + i, cnt - i, & csum, & p);
5763     i += tmp___1;   5763     i += tmp___1;
5764   }   5764   }
5765   tmp___2 = p;   5765   tmp___2 = p;
5766   p ++;   5766   p ++;
5767   *tmp___2 = (char )'#';   5767   *tmp___2 = (char )'#';
5768   tmp___3 = p;   5768   tmp___3 = p;
5769   p ++;   5769   p ++;
5770   tmp___4 = tohex(((int )csum >> 4) & 15);   5770   tmp___4 = tohex(((int )csum >> 4) & 15);
5771   *tmp___3 = (char )tmp___4;   5771   *tmp___3 = (char )tmp___4;
5772   tmp___5 = p;   5772   tmp___5 = p;
5773   p ++;   5773   p ++;
5774   tmp___6 = tohex((int )csum & 15);   5774   tmp___6 = tohex((int )csum & 15);
5775   *tmp___5 = (char )tmp___6;   5775   *tmp___5 = (char )tmp___6;
5776   *p = (char )'\000';   5776   *p = (char )'\000';
5777   tmp___7 = ensure_write_remote_desc();   5777   tmp___7 = ensure_write_remote_desc();
5778   if (tmp___7) {   5778   if (tmp___7) {
5779     5779  
5780   } else {   5780   } else {
5781     warning("putpkt(write) error: no write_remote_desc\n");   5781     warning("putpkt(write) error: no write_remote_desc\n");
5782     return (-1);   5782     return (-1);
5783   }   5783   }
5784   while (1) {   5784   while (1) {
5785     tmp___8 = vgPlain_write(write_remote_desc, (void const   *)buf2, p - buf2);   5785     tmp___8 = vgPlain_write(write_remote_desc, (void const   *)buf2, p - buf2);
5786     if (tmp___8 != p - buf2) {   5786     if (tmp___8 != p - buf2) {
5787       warning("putpkt(write) error\n");   5787       warning("putpkt(write) error\n");
5788       return (-1);   5788       return (-1);
5789     } else {   5789     } else {
5790     5790  
5791     }   5791     }
5792     if (noack_mode) {   5792     if (noack_mode) {
5793       while (1) {   5793       while (1) {
5794         tmp___9 = vgPlain_debugLog_getLevel();   5794         tmp___9 = vgPlain_debugLog_getLevel();
5795         if (tmp___9 >= 1) {   5795         if (tmp___9 >= 1) {
5796           tmp___10 = 1;   5796           tmp___10 = 1;
5797         } else {   5797         } else {
5798           tmp___10 = 0;   5798           tmp___10 = 0;
5799         }   5799         }
5800         tmp___11 = __builtin_expect((long )tmp___10, 0L);   5800         tmp___11 = __builtin_expect((long )tmp___10, 0L);
5801         if (tmp___11) {   5801         if (tmp___11) {
5802           vgPlain_debugLog(1, "gdbsrv", "putpkt (\"%s\"); [no ack]\n", buf2);   5802           vgPlain_debugLog(1, "gdbsrv", "putpkt (\"%s\"); [no ack]\n", buf2);
5803         } else {   5803         } else {
5804     5804  
5805         }   5805         }
5806         break;   5806         break;
5807       }   5807       }
5808     } else {   5808     } else {
5809       while (1) {   5809       while (1) {
5810         tmp___12 = vgPlain_debugLog_getLevel();   5810         tmp___12 = vgPlain_debugLog_getLevel();
5811         if (tmp___12 >= 1) {   5811         if (tmp___12 >= 1) {
5812           tmp___13 = 1;   5812           tmp___13 = 1;
5813         } else {   5813         } else {
5814           tmp___13 = 0;   5814           tmp___13 = 0;
5815         }   5815         }
5816         tmp___14 = __builtin_expect((long )tmp___13, 0L);   5816         tmp___14 = __builtin_expect((long )tmp___13, 0L);
5817         if (tmp___14) {   5817         if (tmp___14) {
5818           vgPlain_debugLog(1, "gdbsrv", "putpkt (\"%s\"); [looking for ack]\n",   5818           vgPlain_debugLog(1, "gdbsrv", "putpkt (\"%s\"); [looking for ack]\n",
5819                            buf2);   5819                            buf2);
5820         } else {   5820         } else {
5821     5821  
5822         }   5822         }
5823         break;   5823         break;
5824       }   5824       }
5825     }   5825     }
5826     if (noack_mode) {   5826     if (noack_mode) {
5827       break;   5827       break;
5828     } else {   5828     } else {
5829     5829  
5830     }   5830     }
5831     cc = readchar(1);   5831     cc = readchar(1);
5832     if (cc > 0) {   5832     if (cc > 0) {
5833       while (1) {   5833       while (1) {
5834         tmp___15 = vgPlain_debugLog_getLevel();   5834         tmp___15 = vgPlain_debugLog_getLevel();
5835         if (tmp___15 >= 1) {   5835         if (tmp___15 >= 1) {
5836           tmp___16 = 1;   5836           tmp___16 = 1;
5837         } else {   5837         } else {
5838           tmp___16 = 0;   5838           tmp___16 = 0;
5839         }   5839         }
5840         tmp___17 = __builtin_expect((long )tmp___16, 0L);   5840         tmp___17 = __builtin_expect((long )tmp___16, 0L);
5841         if (tmp___17) {   5841         if (tmp___17) {
5842           vgPlain_debugLog(1, "gdbsrv", "[received \'%c\' (0x%x)]\n", cc, cc);   5842           vgPlain_debugLog(1, "gdbsrv", "[received \'%c\' (0x%x)]\n", cc, cc);
5843         } else {   5843         } else {
5844     5844  
5845         }   5845         }
5846         break;   5846         break;
5847       }   5847       }
5848     } else {   5848     } else {
5849     5849  
5850     }   5850     }
5851     if (cc <= 0) {   5851     if (cc <= 0) {
5852       if (cc == 0) {   5852       if (cc == 0) {
5853         while (1) {   5853         while (1) {
5854           tmp___18 = vgPlain_debugLog_getLevel();   5854           tmp___18 = vgPlain_debugLog_getLevel();
5855           if (tmp___18 >= 1) {   5855           if (tmp___18 >= 1) {
5856             tmp___19 = 1;   5856             tmp___19 = 1;
5857           } else {   5857           } else {
5858             tmp___19 = 0;   5858             tmp___19 = 0;
5859           }   5859           }
5860           tmp___20 = __builtin_expect((long )tmp___19, 0L);   5860           tmp___20 = __builtin_expect((long )tmp___19, 0L);
5861           if (tmp___20) {   5861           if (tmp___20) {
5862             vgPlain_debugLog(1, "gdbsrv", "putpkt(read): Got EOF\n");   5862             vgPlain_debugLog(1, "gdbsrv", "putpkt(read): Got EOF\n");
5863           } else {   5863           } else {
5864     5864  
5865           }   5865           }
5866           break;   5866           break;
5867         }   5867         }
5868       } else {   5868       } else {
5869         warning("putpkt(read) error\n");   5869         warning("putpkt(read) error\n");
5870       }   5870       }
5871       vgPlain_arena_free(0, (void *)buf2);   5871       vgPlain_arena_free(0, (void *)buf2);
5872       return (-1);   5872       return (-1);
5873     } else {   5873     } else {
5874     5874  
5875     }   5875     }
5876     if (cc == 3) {   5876     if (cc == 3) {
5877       (*(the_target->send_signal))(2);   5877       (*(the_target->send_signal))(2);
5878     } else {   5878     } else {
5879     5879  
5880     }   5880     }
5881     if (cc != 43) {   5881     if (cc != 43) {
5882     5882  
5883     } else {   5883     } else {
5884       break;   5884       break;
5885     }   5885     }
5886   }   5886   }
5887   vgPlain_arena_free(0, (void *)buf2);   5887   vgPlain_arena_free(0, (void *)buf2);
5888   return (1);   5888   return (1);
5889 }   5889 }
5890 }   5890 }
5891 int putpkt(char *buf )   5891 int putpkt(char *buf )
5892 {   5892 {
5893   SizeT tmp ;   5893   SizeT tmp ;
5894   int tmp___0 ;   5894   int tmp___0 ;
5895     5895  
5896   {   5896   {
5897   tmp = vgPlain_strlen((Char const   *)((Char *)buf));   5897   tmp = vgPlain_strlen((Char const   *)((Char *)buf));
5898   tmp___0 = putpkt_binary(buf, (int )tmp);   5898   tmp___0 = putpkt_binary(buf, (int )tmp);
5899   return (tmp___0);   5899   return (tmp___0);
5900 }   5900 }
5901 }   5901 }
5902 void monitor_output(char *s )   5902 void monitor_output(char *s )
5903 {   5903 {
5904   int len ;   5904   int len ;
5905   SizeT tmp ;   5905   SizeT tmp ;
5906   char *buf ;   5906   char *buf ;
5907   void *tmp___0 ;   5907   void *tmp___0 ;
5908   int tmp___1 ;   5908   int tmp___1 ;
5909     5909  
5910   {   5910   {
5911   tmp = vgPlain_strlen((Char const   *)((Char *)s));   5911   tmp = vgPlain_strlen((Char const   *)((Char *)s));
5912   len = (int )tmp;   5912   len = (int )tmp;
5913   tmp___0 = vgPlain_arena_malloc(0, (HChar *)"gdbsrv",   5913   tmp___0 = vgPlain_arena_malloc(0, (HChar *)"gdbsrv",
5914                                  (SizeT )((1 + 2 * len) + 1));   5914                                  (SizeT )((1 + 2 * len) + 1));
5915   buf = (char *)tmp___0;   5915   buf = (char *)tmp___0;
5916   *(buf + 0) = (char )'O';   5916   *(buf + 0) = (char )'O';
5917   hexify(buf + 1, (char const   *)s, len);   5917   hexify(buf + 1, (char const   *)s, len);
5918   tmp___1 = putpkt(buf);   5918   tmp___1 = putpkt(buf);
5919   if (tmp___1 < 0) {   5919   if (tmp___1 < 0) {
5920     reset_valgrind_sink((char *)"Error writing monitor output");   5920     reset_valgrind_sink((char *)"Error writing monitor output");
5921     vgPlain_printf("%s", s);   5921     vgPlain_printf("%s", s);
5922   } else {   5922   } else {
5923     5923  
5924   }   5924   }
5925   vgPlain_arena_free(0, (void *)buf);   5925   vgPlain_arena_free(0, (void *)buf);
5926   return;   5926   return;
5927 }   5927 }
5928 }   5928 }
5929 static unsigned char buf[16384]  ;   5929 static unsigned char buf[16384]  ;
5930 static int readchar(int single ) ;   5930 static int readchar(int single ) ;
5931 static int bufcnt  =    0;   5931 static int bufcnt  =    0;
5932 static unsigned char *bufp  ;   5932 static unsigned char *bufp  ;
5933 static int readchar(int single )   5933 static int readchar(int single )
5934 {   5934 {
5935   int ret ;   5935   int ret ;
5936   unsigned char *tmp ;   5936   unsigned char *tmp ;
5937   int tmp___0 ;   5937   int tmp___0 ;
5938   Int tmp___1 ;   5938   Int tmp___1 ;
5939   int tmp___2 ;   5939   int tmp___2 ;
5940   long tmp___3 ;   5940   long tmp___3 ;
5941   Int tmp___4 ;   5941   Int tmp___4 ;
5942   int tmp___5 ;   5942   int tmp___5 ;
5943   long tmp___6 ;   5943   long tmp___6 ;
5944   Int tmp___7 ;   5944   Int tmp___7 ;
5945   int tmp___8 ;   5945   int tmp___8 ;
5946   long tmp___9 ;   5946   long tmp___9 ;
5947   int tmp___10 ;   5947   int tmp___10 ;
5948   Int tmp___11 ;   5948   Int tmp___11 ;
5949   int tmp___12 ;   5949   int tmp___12 ;
5950   long tmp___13 ;   5950   long tmp___13 ;
5951   int tmp___14 ;   5951   int tmp___14 ;
5952   unsigned char *tmp___15 ;   5952   unsigned char *tmp___15 ;
5953     5953  
5954   {   5954   {
5955   tmp___0 = bufcnt;   5955   tmp___0 = bufcnt;
5956   bufcnt --;   5956   bufcnt --;
5957   if (tmp___0 > 0) {   5957   if (tmp___0 > 0) {
5958     tmp = bufp;   5958     tmp = bufp;
5959     bufp ++;   5959     bufp ++;
5960     return ((int )*tmp);   5960     return ((int )*tmp);
5961   } else {   5961   } else {
5962     5962  
5963   }   5963   }
5964   if (remote_desc == -1) {   5964   if (remote_desc == -1) {
5965     return (-1);   5965     return (-1);
5966   } else {   5966   } else {
5967     5967  
5968   }   5968   }
5969   remote_desc_pollfdread_activity.revents = (short)0;   5969   remote_desc_pollfdread_activity.revents = (short)0;
5970   ret = vgPlain_poll(& remote_desc_pollfdread_activity, 1, -1);   5970   ret = vgPlain_poll(& remote_desc_pollfdread_activity, 1, -1);
5971   if (ret != 1) {   5971   if (ret != 1) {
5972     while (1) {   5972     while (1) {
5973       tmp___1 = vgPlain_debugLog_getLevel();   5973       tmp___1 = vgPlain_debugLog_getLevel();
5974       if (tmp___1 >= 0) {   5974       if (tmp___1 >= 0) {
5975         tmp___2 = 1;   5975         tmp___2 = 1;
5976       } else {   5976       } else {
5977         tmp___2 = 0;   5977         tmp___2 = 0;
5978       }   5978       }
5979       tmp___3 = __builtin_expect((long )tmp___2, 0L);   5979       tmp___3 = __builtin_expect((long )tmp___2, 0L);
5980       if (tmp___3) {   5980       if (tmp___3) {
5981         vgPlain_debugLog(0, "gdbsrv", "readchar: poll got %d\n", ret);   5981         vgPlain_debugLog(0, "gdbsrv", "readchar: poll got %d\n", ret);
5982       } else {   5982       } else {
5983     5983  
5984       }   5984       }
5985       break;   5985       break;
5986     }   5986     }
5987     return (-1);   5987     return (-1);
5988   } else {   5988   } else {
5989     5989  
5990   }   5990   }
5991   if (single) {   5991   if (single) {
5992     bufcnt = vgPlain_read(remote_desc, (void *)(buf), 1);   5992     bufcnt = vgPlain_read(remote_desc, (void *)(buf), 1);
5993   } else {   5993   } else {
5994     bufcnt = vgPlain_read(remote_desc, (void *)(buf), (Int )sizeof(buf));   5994     bufcnt = vgPlain_read(remote_desc, (void *)(buf), (Int )sizeof(buf));
5995   }   5995   }
5996   if (bufcnt <= 0) {   5996   if (bufcnt <= 0) {
5997     if (bufcnt == 0) {   5997     if (bufcnt == 0) {
5998       while (1) {   5998       while (1) {
5999         tmp___4 = vgPlain_debugLog_getLevel();   5999         tmp___4 = vgPlain_debugLog_getLevel();
6000         if (tmp___4 >= 1) {   6000         if (tmp___4 >= 1) {
6001           tmp___5 = 1;   6001           tmp___5 = 1;
6002         } else {   6002         } else {
6003           tmp___5 = 0;   6003           tmp___5 = 0;
6004         }   6004         }
6005         tmp___6 = __builtin_expect((long )tmp___5, 0L);   6005         tmp___6 = __builtin_expect((long )tmp___5, 0L);
6006         if (tmp___6) {   6006         if (tmp___6) {
6007           vgPlain_debugLog(1, "gdbsrv", "readchar: Got EOF\n");   6007           vgPlain_debugLog(1, "gdbsrv", "readchar: Got EOF\n");
6008         } else {   6008         } else {
6009     6009  
6010         }   6010         }
6011         break;   6011         break;
6012       }   6012       }
6013     } else {   6013     } else {
6014       warning("readchar read error\n");   6014       warning("readchar read error\n");
6015     }   6015     }
6016     return (-1);   6016     return (-1);
6017   } else {   6017   } else {
6018     6018  
6019   }   6019   }
6020   shared->seen_by_valgrind += (int volatile   )bufcnt;   6020   shared->seen_by_valgrind += (int volatile   )bufcnt;
6021   if (write_remote_desc == -1) {   6021   if (write_remote_desc == -1) {
6022     tmp___10 = ensure_write_remote_desc();   6022     tmp___10 = ensure_write_remote_desc();
6023     if (tmp___10) {   6023     if (tmp___10) {
6024     6024  
6025     } else {   6025     } else {
6026       while (1) {   6026       while (1) {
6027         tmp___7 = vgPlain_debugLog_getLevel();   6027         tmp___7 = vgPlain_debugLog_getLevel();
6028         if (tmp___7 >= 1) {   6028         if (tmp___7 >= 1) {
6029           tmp___8 = 1;   6029           tmp___8 = 1;
6030         } else {   6030         } else {
6031           tmp___8 = 0;   6031           tmp___8 = 0;
6032         }   6032         }
6033         tmp___9 = __builtin_expect((long )tmp___8, 0L);   6033         tmp___9 = __builtin_expect((long )tmp___8, 0L);
6034         if (tmp___9) {   6034         if (tmp___9) {
6035           vgPlain_debugLog(1, "gdbsrv",   6035           vgPlain_debugLog(1, "gdbsrv",
6036                            "reachar: write_remote_desc could not be created");   6036                            "reachar: write_remote_desc could not be created");
6037         } else {   6037         } else {
6038     6038  
6039         }   6039         }
6040         break;   6040         break;
6041       }   6041       }
6042     }   6042     }
6043   } else {   6043   } else {
6044     6044  
6045   }   6045   }
6046   bufp = buf;   6046   bufp = buf;
6047   bufcnt --;   6047   bufcnt --;
6048   tmp___14 = poll_cond(remote_desc_pollfdread_activity.revents);   6048   tmp___14 = poll_cond(remote_desc_pollfdread_activity.revents);
6049   if (tmp___14) {   6049   if (tmp___14) {
6050     while (1) {   6050     while (1) {
6051       tmp___11 = vgPlain_debugLog_getLevel();   6051       tmp___11 = vgPlain_debugLog_getLevel();
6052       if (tmp___11 >= 1) {   6052       if (tmp___11 >= 1) {
6053         tmp___12 = 1;   6053         tmp___12 = 1;
6054       } else {   6054       } else {
6055         tmp___12 = 0;   6055         tmp___12 = 0;
6056       }   6056       }
6057       tmp___13 = __builtin_expect((long )tmp___12, 0L);   6057       tmp___13 = __builtin_expect((long )tmp___12, 0L);
6058       if (tmp___13) {   6058       if (tmp___13) {
6059         vgPlain_debugLog(1, "gdbsrv", "readchar: POLLcond got %d\n",   6059         vgPlain_debugLog(1, "gdbsrv", "readchar: POLLcond got %d\n",
6060                          (int )remote_desc_pollfdread_activity.revents);   6060                          (int )remote_desc_pollfdread_activity.revents);
6061       } else {   6061       } else {
6062     6062  
6063       }   6063       }
6064       break;   6064       break;
6065     }   6065     }
6066     error_poll_cond();   6066     error_poll_cond();
6067   } else {   6067   } else {
6068     6068  
6069   }   6069   }
6070   tmp___15 = bufp;   6070   tmp___15 = bufp;
6071   bufp ++;   6071   bufp ++;
6072   return ((int )*tmp___15);   6072   return ((int )*tmp___15);
6073 }   6073 }
6074 }   6074 }
6075 int getpkt(char *buf___0 )   6075 int getpkt(char *buf___0 )
6076 {   6076 {
6077   char *bp ;   6077   char *bp ;
6078   unsigned char csum ;   6078   unsigned char csum ;
6079   unsigned char c1 ;   6079   unsigned char c1 ;
6080   unsigned char c2 ;   6080   unsigned char c2 ;
6081   int c ;   6081   int c ;
6082   Int tmp ;   6082   Int tmp ;
6083   int tmp___0 ;   6083   int tmp___0 ;
6084   long tmp___1 ;   6084   long tmp___1 ;
6085   char *tmp___2 ;   6085   char *tmp___2 ;
6086   int tmp___3 ;   6086   int tmp___3 ;
6087   int tmp___4 ;   6087   int tmp___4 ;
6088   int tmp___5 ;   6088   int tmp___5 ;
6089   int tmp___6 ;   6089   int tmp___6 ;
6090   Int tmp___7 ;   6090   Int tmp___7 ;
6091   int tmp___8 ;   6091   int tmp___8 ;
6092   long tmp___9 ;   6092   long tmp___9 ;
6093   Int tmp___10 ;   6093   Int tmp___10 ;
6094   int tmp___11 ;   6094   int tmp___11 ;
6095   long tmp___12 ;   6095   long tmp___12 ;
6096   int tmp___13 ;   6096   int tmp___13 ;
6097   Int tmp___14 ;   6097   Int tmp___14 ;
6098   int tmp___15 ;   6098   int tmp___15 ;
6099   long tmp___16 ;   6099   long tmp___16 ;
6100   Int tmp___17 ;   6100   Int tmp___17 ;
6101   int tmp___18 ;   6101   int tmp___18 ;
6102   long tmp___19 ;   6102   long tmp___19 ;
6103   Int tmp___20 ;   6103   Int tmp___20 ;
6104   int tmp___21 ;   6104   int tmp___21 ;
6105   long tmp___22 ;   6105   long tmp___22 ;
6106   int tmp___23 ;   6106   int tmp___23 ;
6107   Int tmp___24 ;   6107   Int tmp___24 ;
6108   int tmp___25 ;   6108   int tmp___25 ;
6109   long tmp___26 ;   6109   long tmp___26 ;
6110     6110  
6111   {   6111   {
6112   while (1) {   6112   while (1) {
6113     csum = (unsigned char)0;   6113     csum = (unsigned char)0;
6114     while (1) {   6114     while (1) {
6115       c = readchar(0);   6115       c = readchar(0);
6116       if (c == 36) {   6116       if (c == 36) {
6117         break;   6117         break;
6118       } else {   6118       } else {
6119     6119  
6120       }   6120       }
6121       while (1) {   6121       while (1) {
6122         tmp = vgPlain_debugLog_getLevel();   6122         tmp = vgPlain_debugLog_getLevel();
6123         if (tmp >= 1) {   6123         if (tmp >= 1) {
6124           tmp___0 = 1;   6124           tmp___0 = 1;
6125         } else {   6125         } else {
6126           tmp___0 = 0;   6126           tmp___0 = 0;
6127         }   6127         }
6128         tmp___1 = __builtin_expect((long )tmp___0, 0L);   6128         tmp___1 = __builtin_expect((long )tmp___0, 0L);
6129         if (tmp___1) {   6129         if (tmp___1) {
6130           vgPlain_debugLog(1, "gdbsrv", "[getpkt: discarding char \'%c\']\n", c);   6130           vgPlain_debugLog(1, "gdbsrv", "[getpkt: discarding char \'%c\']\n", c);
6131         } else {   6131         } else {
6132     6132  
6133         }   6133         }
6134         break;   6134         break;
6135       }   6135       }
6136       if (c < 0) {   6136       if (c < 0) {
6137         return (-1);   6137         return (-1);
6138       } else {   6138       } else {
6139     6139  
6140       }   6140       }
6141     }   6141     }
6142     bp = buf___0;   6142     bp = buf___0;
6143     while (1) {   6143     while (1) {
6144       c = readchar(0);   6144       c = readchar(0);
6145       if (c < 0) {   6145       if (c < 0) {
6146         return (-1);   6146         return (-1);
6147       } else {   6147       } else {
6148     6148  
6149       }   6149       }
6150       if (c == 35) {   6150       if (c == 35) {
6151         break;   6151         break;
6152       } else {   6152       } else {
6153     6153  
6154       }   6154       }
6155       tmp___2 = bp;   6155       tmp___2 = bp;
6156       bp ++;   6156       bp ++;
6157       *tmp___2 = (char )c;   6157       *tmp___2 = (char )c;
6158       csum = (unsigned char )((int )csum + c);   6158       csum = (unsigned char )((int )csum + c);
6159     }   6159     }
6160     *bp = (char)0;   6160     *bp = (char)0;
6161     tmp___3 = readchar(0);   6161     tmp___3 = readchar(0);
6162     tmp___4 = fromhex(tmp___3);   6162     tmp___4 = fromhex(tmp___3);
6163     c1 = (unsigned char )tmp___4;   6163     c1 = (unsigned char )tmp___4;
6164     tmp___5 = readchar(0);   6164     tmp___5 = readchar(0);
6165     tmp___6 = fromhex(tmp___5);   6165     tmp___6 = fromhex(tmp___5);
6166     c2 = (unsigned char )tmp___6;   6166     c2 = (unsigned char )tmp___6;
6167     if ((int )csum == ((int )c1 << 4) + (int )c2) {   6167     if ((int )csum == ((int )c1 << 4) + (int )c2) {
6168       break;   6168       break;
6169     } else {   6169     } else {
6170     6170  
6171     }   6171     }
6172     while (1) {   6172     while (1) {
6173       tmp___7 = vgPlain_debugLog_getLevel();   6173       tmp___7 = vgPlain_debugLog_getLevel();
6174       if (tmp___7 >= 0) {   6174       if (tmp___7 >= 0) {
6175         tmp___8 = 1;   6175         tmp___8 = 1;
6176       } else {   6176       } else {
6177         tmp___8 = 0;   6177         tmp___8 = 0;
6178       }   6178       }
6179       tmp___9 = __builtin_expect((long )tmp___8, 0L);   6179       tmp___9 = __builtin_expect((long )tmp___8, 0L);
6180       if (tmp___9) {   6180       if (tmp___9) {
6181         vgPlain_debugLog(0, "gdbsrv",   6181         vgPlain_debugLog(0, "gdbsrv",
6182                          "Bad checksum, sentsum=0x%x, csum=0x%x, buf=%s\n",   6182                          "Bad checksum, sentsum=0x%x, csum=0x%x, buf=%s\n",
6183                          ((int )c1 << 4) + (int )c2, (int )csum, buf___0);   6183                          ((int )c1 << 4) + (int )c2, (int )csum, buf___0);
6184       } else {   6184       } else {
6185     6185  
6186       }   6186       }
6187       break;   6187       break;
6188     }   6188     }
6189     tmp___13 = ensure_write_remote_desc();   6189     tmp___13 = ensure_write_remote_desc();
6190     if (tmp___13) {   6190     if (tmp___13) {
6191     6191  
6192     } else {   6192     } else {
6193       while (1) {   6193       while (1) {
6194         tmp___10 = vgPlain_debugLog_getLevel();   6194         tmp___10 = vgPlain_debugLog_getLevel();
6195         if (tmp___10 >= 1) {   6195         if (tmp___10 >= 1) {
6196           tmp___11 = 1;   6196           tmp___11 = 1;
6197         } else {   6197         } else {
6198           tmp___11 = 0;   6198           tmp___11 = 0;
6199         }   6199         }
6200         tmp___12 = __builtin_expect((long )tmp___11, 0L);   6200         tmp___12 = __builtin_expect((long )tmp___11, 0L);
6201         if (tmp___12) {   6201         if (tmp___12) {
6202           vgPlain_debugLog(1, "gdbsrv",   6202           vgPlain_debugLog(1, "gdbsrv",
6203                            "getpkt(write nack) no write_remote_desc");   6203                            "getpkt(write nack) no write_remote_desc");
6204         } else {   6204         } else {
6205     6205  
6206         }   6206         }
6207         break;   6207         break;
6208       }   6208       }
6209     }   6209     }
6210     vgPlain_write(write_remote_desc, (void const   *)"-", 1);   6210     vgPlain_write(write_remote_desc, (void const   *)"-", 1);
6211   }   6211   }
6212   if (noack_mode) {   6212   if (noack_mode) {
6213     while (1) {   6213     while (1) {
6214       tmp___14 = vgPlain_debugLog_getLevel();   6214       tmp___14 = vgPlain_debugLog_getLevel();
6215       if (tmp___14 >= 1) {   6215       if (tmp___14 >= 1) {
6216         tmp___15 = 1;   6216         tmp___15 = 1;
6217       } else {   6217       } else {
6218         tmp___15 = 0;   6218         tmp___15 = 0;
6219       }   6219       }
6220       tmp___16 = __builtin_expect((long )tmp___15, 0L);   6220       tmp___16 = __builtin_expect((long )tmp___15, 0L);
6221       if (tmp___16) {   6221       if (tmp___16) {
6222         vgPlain_debugLog(1, "gdbsrv", "getpkt (\"%s\");  [no ack] \n", buf___0);   6222         vgPlain_debugLog(1, "gdbsrv", "getpkt (\"%s\");  [no ack] \n", buf___0);
6223       } else {   6223       } else {
6224     6224  
6225       }   6225       }
6226       break;   6226       break;
6227     }   6227     }
6228   } else {   6228   } else {
6229     while (1) {   6229     while (1) {
6230       tmp___17 = vgPlain_debugLog_getLevel();   6230       tmp___17 = vgPlain_debugLog_getLevel();
6231       if (tmp___17 >= 1) {   6231       if (tmp___17 >= 1) {
6232         tmp___18 = 1;   6232         tmp___18 = 1;
6233       } else {   6233       } else {
6234         tmp___18 = 0;   6234         tmp___18 = 0;
6235       }   6235       }
6236       tmp___19 = __builtin_expect((long )tmp___18, 0L);   6236       tmp___19 = __builtin_expect((long )tmp___18, 0L);
6237       if (tmp___19) {   6237       if (tmp___19) {
6238         vgPlain_debugLog(1, "gdbsrv", "getpkt (\"%s\");  [sending ack] \n",   6238         vgPlain_debugLog(1, "gdbsrv", "getpkt (\"%s\");  [sending ack] \n",
6239                          buf___0);   6239                          buf___0);
6240       } else {   6240       } else {
6241     6241  
6242       }   6242       }
6243       break;   6243       break;
6244     }   6244     }
6245   }   6245   }
6246   if (! noack_mode) {   6246   if (! noack_mode) {
6247     tmp___23 = ensure_write_remote_desc();   6247     tmp___23 = ensure_write_remote_desc();
6248     if (tmp___23) {   6248     if (tmp___23) {
6249     6249  
6250     } else {   6250     } else {
6251       while (1) {   6251       while (1) {
6252         tmp___20 = vgPlain_debugLog_getLevel();   6252         tmp___20 = vgPlain_debugLog_getLevel();
6253         if (tmp___20 >= 1) {   6253         if (tmp___20 >= 1) {
6254           tmp___21 = 1;   6254           tmp___21 = 1;
6255         } else {   6255         } else {
6256           tmp___21 = 0;   6256           tmp___21 = 0;
6257         }   6257         }
6258         tmp___22 = __builtin_expect((long )tmp___21, 0L);   6258         tmp___22 = __builtin_expect((long )tmp___21, 0L);
6259         if (tmp___22) {   6259         if (tmp___22) {
6260           vgPlain_debugLog(1, "gdbsrv", "getpkt(write ack) no write_remote_desc");   6260           vgPlain_debugLog(1, "gdbsrv", "getpkt(write ack) no write_remote_desc");
6261         } else {   6261         } else {
6262     6262  
6263         }   6263         }
6264         break;   6264         break;
6265       }   6265       }
6266     }   6266     }
6267     vgPlain_write(write_remote_desc, (void const   *)"+", 1);   6267     vgPlain_write(write_remote_desc, (void const   *)"+", 1);
6268     while (1) {   6268     while (1) {
6269       tmp___24 = vgPlain_debugLog_getLevel();   6269       tmp___24 = vgPlain_debugLog_getLevel();
6270       if (tmp___24 >= 1) {   6270       if (tmp___24 >= 1) {
6271         tmp___25 = 1;   6271         tmp___25 = 1;
6272       } else {   6272       } else {
6273         tmp___25 = 0;   6273         tmp___25 = 0;
6274       }   6274       }
6275       tmp___26 = __builtin_expect((long )tmp___25, 0L);   6275       tmp___26 = __builtin_expect((long )tmp___25, 0L);
6276       if (tmp___26) {   6276       if (tmp___26) {
6277         vgPlain_debugLog(1, "gdbsrv", "[sent ack]\n");   6277         vgPlain_debugLog(1, "gdbsrv", "[sent ack]\n");
6278       } else {   6278       } else {
6279     6279  
6280       }   6280       }
6281       break;   6281       break;
6282     }   6282     }
6283   } else {   6283   } else {
6284     6284  
6285   }   6285   }
6286   return (bp - buf___0);   6286   return (bp - buf___0);
6287 }   6287 }
6288 }   6288 }
6289 void write_ok(char *buf___0 )   6289 void write_ok(char *buf___0 )
6290 {   6290 {
6291     6291  
6292     6292  
6293   {   6293   {
6294   *(buf___0 + 0) = (char )'O';   6294   *(buf___0 + 0) = (char )'O';
6295   *(buf___0 + 1) = (char )'K';   6295   *(buf___0 + 1) = (char )'K';
6296   *(buf___0 + 2) = (char )'\000';   6296   *(buf___0 + 2) = (char )'\000';
6297   return;   6297   return;
6298 }   6298 }
6299 }   6299 }
6300 void write_enn(char *buf___0 )   6300 void write_enn(char *buf___0 )
6301 {   6301 {
6302     6302  
6303     6303  
6304   {   6304   {
6305   *(buf___0 + 0) = (char )'E';   6305   *(buf___0 + 0) = (char )'E';
6306   *(buf___0 + 1) = (char )'0';   6306   *(buf___0 + 1) = (char )'0';
6307   *(buf___0 + 2) = (char )'1';   6307   *(buf___0 + 2) = (char )'1';
6308   *(buf___0 + 3) = (char )'\000';   6308   *(buf___0 + 3) = (char )'\000';
6309   return;   6309   return;
6310 }   6310 }
6311 }   6311 }
6312 void convert_int_to_ascii(unsigned char *from , char *to , int n )   6312 void convert_int_to_ascii(unsigned char *from , char *to , int n )
6313 {   6313 {
6314   int nib ;   6314   int nib ;
6315   int ch ;   6315   int ch ;
6316   unsigned char *tmp ;   6316   unsigned char *tmp ;
6317   char *tmp___0 ;   6317   char *tmp___0 ;
6318   int tmp___1 ;   6318   int tmp___1 ;
6319   char *tmp___2 ;   6319   char *tmp___2 ;
6320   int tmp___3 ;   6320   int tmp___3 ;
6321   int tmp___4 ;   6321   int tmp___4 ;
6322   char *tmp___5 ;   6322   char *tmp___5 ;
6323     6323  
6324   {   6324   {
6325   while (1) {   6325   while (1) {
6326     tmp___4 = n;   6326     tmp___4 = n;
6327     n --;   6327     n --;
6328     if (tmp___4) {   6328     if (tmp___4) {
6329     6329  
6330     } else {   6330     } else {
6331       break;   6331       break;
6332     }   6332     }
6333     tmp = from;   6333     tmp = from;
6334     from ++;   6334     from ++;
6335     ch = (int )*tmp;   6335     ch = (int )*tmp;
6336     nib = ((ch & 240) >> 4) & 15;   6336     nib = ((ch & 240) >> 4) & 15;
6337     tmp___0 = to;   6337     tmp___0 = to;
6338     to ++;   6338     to ++;
6339     tmp___1 = tohex(nib);   6339     tmp___1 = tohex(nib);
6340     *tmp___0 = (char )tmp___1;   6340     *tmp___0 = (char )tmp___1;
6341     nib = ch & 15;   6341     nib = ch & 15;
6342     tmp___2 = to;   6342     tmp___2 = to;
6343     to ++;   6343     to ++;
6344     tmp___3 = tohex(nib);   6344     tmp___3 = tohex(nib);
6345     *tmp___2 = (char )tmp___3;   6345     *tmp___2 = (char )tmp___3;
6346   }   6346   }
6347   tmp___5 = to;   6347   tmp___5 = to;
6348   to ++;   6348   to ++;
6349   *tmp___5 = (char)0;   6349   *tmp___5 = (char)0;
6350   return;   6350   return;
6351 }   6351 }
6352 }   6352 }
6353 void convert_ascii_to_int(char *from , unsigned char *to , int n )   6353 void convert_ascii_to_int(char *from , unsigned char *to , int n )
6354 {   6354 {
6355   int nib1 ;   6355   int nib1 ;
6356   int nib2 ;   6356   int nib2 ;
6357   char *tmp ;   6357   char *tmp ;
6358   char *tmp___0 ;   6358   char *tmp___0 ;
6359   unsigned char *tmp___1 ;   6359   unsigned char *tmp___1 ;
6360   int tmp___2 ;   6360   int tmp___2 ;
6361     6361  
6362   {   6362   {
6363   while (1) {   6363   while (1) {
6364     tmp___2 = n;   6364     tmp___2 = n;
6365     n --;   6365     n --;
6366     if (tmp___2) {   6366     if (tmp___2) {
6367     6367  
6368     } else {   6368     } else {
6369       break;   6369       break;
6370     }   6370     }
6371     tmp = from;   6371     tmp = from;
6372     from ++;   6372     from ++;
6373     nib1 = fromhex((int )*tmp);   6373     nib1 = fromhex((int )*tmp);
6374     tmp___0 = from;   6374     tmp___0 = from;
6375     from ++;   6375     from ++;
6376     nib2 = fromhex((int )*tmp___0);   6376     nib2 = fromhex((int )*tmp___0);
6377     tmp___1 = to;   6377     tmp___1 = to;
6378     to ++;   6378     to ++;
6379     *tmp___1 = (unsigned char )((((nib1 & 15) << 4) & 240) | (nib2 & 15));   6379     *tmp___1 = (unsigned char )((((nib1 & 15) << 4) & 240) | (nib2 & 15));
6380   }   6380   }
6381   return;   6381   return;
6382 }   6382 }
6383 }   6383 }
6384 static char *outreg(int regno , char *buf___0 )   6384 static char *outreg(int regno , char *buf___0 )
6385 {   6385 {
6386   char *tmp ;   6386   char *tmp ;
6387   int tmp___0 ;   6387   int tmp___0 ;
6388   char *tmp___1 ;   6388   char *tmp___1 ;
6389   int tmp___2 ;   6389   int tmp___2 ;
6390   char *tmp___3 ;   6390   char *tmp___3 ;
6391   int tmp___4 ;   6391   int tmp___4 ;
6392   char *tmp___5 ;   6392   char *tmp___5 ;
6393   int tmp___6 ;   6393   int tmp___6 ;
6394   char *tmp___7 ;   6394   char *tmp___7 ;
6395   int tmp___8 ;   6395   int tmp___8 ;
6396   char *tmp___9 ;   6396   char *tmp___9 ;
6397     6397  
6398   {   6398   {
6399   if (regno >> 12 != 0) {   6399   if (regno >> 12 != 0) {
6400     tmp = buf___0;   6400     tmp = buf___0;
6401     buf___0 ++;   6401     buf___0 ++;
6402     tmp___0 = tohex((regno >> 12) & 15);   6402     tmp___0 = tohex((regno >> 12) & 15);
6403     *tmp = (char )tmp___0;   6403     *tmp = (char )tmp___0;
6404   } else {   6404   } else {
6405     6405  
6406   }   6406   }
6407   if (regno >> 8 != 0) {   6407   if (regno >> 8 != 0) {
6408     tmp___1 = buf___0;   6408     tmp___1 = buf___0;
6409     buf___0 ++;   6409     buf___0 ++;
6410     tmp___2 = tohex((regno >> 8) & 15);   6410     tmp___2 = tohex((regno >> 8) & 15);
6411     *tmp___1 = (char )tmp___2;   6411     *tmp___1 = (char )tmp___2;
6412   } else {   6412   } else {
6413     6413  
6414   }   6414   }
6415   tmp___3 = buf___0;   6415   tmp___3 = buf___0;
6416   buf___0 ++;   6416   buf___0 ++;
6417   tmp___4 = tohex((regno >> 4) & 15);   6417   tmp___4 = tohex((regno >> 4) & 15);
6418   *tmp___3 = (char )tmp___4;   6418   *tmp___3 = (char )tmp___4;
6419   tmp___5 = buf___0;   6419   tmp___5 = buf___0;
6420   buf___0 ++;   6420   buf___0 ++;
6421   tmp___6 = tohex(regno & 15);   6421   tmp___6 = tohex(regno & 15);
6422   *tmp___5 = (char )tmp___6;   6422   *tmp___5 = (char )tmp___6;
6423   tmp___7 = buf___0;   6423   tmp___7 = buf___0;
6424   buf___0 ++;   6424   buf___0 ++;
6425   *tmp___7 = (char )':';   6425   *tmp___7 = (char )':';
6426   collect_register_as_string(regno, buf___0);   6426   collect_register_as_string(regno, buf___0);
6427   tmp___8 = register_size(regno);   6427   tmp___8 = register_size(regno);
6428   buf___0 += 2 * tmp___8;   6428   buf___0 += 2 * tmp___8;
6429   tmp___9 = buf___0;   6429   tmp___9 = buf___0;
6430   buf___0 ++;   6430   buf___0 ++;
6431   *tmp___9 = (char )';';   6431   *tmp___9 = (char )';';
6432   return (buf___0);   6432   return (buf___0);
6433 }   6433 }
6434 }   6434 }
6435 void prepare_resume_reply(char *buf___0 , char status , unsigned char sig )   6435 void prepare_resume_reply(char *buf___0 , char status , unsigned char sig )
6436 {   6436 {
6437   int nib ;   6437   int nib ;
6438   char *tmp ;   6438   char *tmp ;
6439   char *tmp___0 ;   6439   char *tmp___0 ;
6440   int tmp___1 ;   6440   int tmp___1 ;
6441   char *tmp___2 ;   6441   char *tmp___2 ;
6442   int tmp___3 ;   6442   int tmp___3 ;
6443   char const   **regp ;   6443   char const   **regp ;
6444   CORE_ADDR addr ;   6444   CORE_ADDR addr ;
6445   int i ;   6445   int i ;
6446   char *tmp___4 ;   6446   char *tmp___4 ;
6447   int tmp___5 ;   6447   int tmp___5 ;
6448   char *tmp___6 ;   6448   char *tmp___6 ;
6449   int tmp___7 ;   6449   int tmp___7 ;
6450   int tmp___8 ;   6450   int tmp___8 ;
6451   unsigned int gdb_id_from_wait ;   6451   unsigned int gdb_id_from_wait ;
6452   Int tmp___9 ;   6452   Int tmp___9 ;
6453   int tmp___10 ;   6453   int tmp___10 ;
6454   long tmp___11 ;   6454   long tmp___11 ;
6455   SizeT tmp___12 ;   6455   SizeT tmp___12 ;
6456   char *tmp___13 ;   6456   char *tmp___13 ;
6457     6457  
6458   {   6458   {
6459   tmp = buf___0;   6459   tmp = buf___0;
6460   buf___0 ++;   6460   buf___0 ++;
6461   *tmp = status;   6461   *tmp = status;
6462   nib = ((int )sig & 240) >> 4;   6462   nib = ((int )sig & 240) >> 4;
6463   tmp___0 = buf___0;   6463   tmp___0 = buf___0;
6464   buf___0 ++;   6464   buf___0 ++;
6465   tmp___1 = tohex(nib);   6465   tmp___1 = tohex(nib);
6466   *tmp___0 = (char )tmp___1;   6466   *tmp___0 = (char )tmp___1;
6467   nib = (int )sig & 15;   6467   nib = (int )sig & 15;
6468   tmp___2 = buf___0;   6468   tmp___2 = buf___0;
6469   buf___0 ++;   6469   buf___0 ++;
6470   tmp___3 = tohex(nib);   6470   tmp___3 = tohex(nib);
6471   *tmp___2 = (char )tmp___3;   6471   *tmp___2 = (char )tmp___3;
6472   if ((int )status == 84) {   6472   if ((int )status == 84) {
6473     regp = gdbserver_expedite_regs;   6473     regp = gdbserver_expedite_regs;
6474     if ((unsigned int )the_target->stopped_by_watchpoint != (unsigned int )((void *)0)) {   6474     if ((unsigned int )the_target->stopped_by_watchpoint != (unsigned int )((void *)0)) {
6475       tmp___7 = (*(the_target->stopped_by_watchpoint))();   6475       tmp___7 = (*(the_target->stopped_by_watchpoint))();
6476       if (tmp___7) {   6476       if (tmp___7) {
6477         vgPlain_strncpy((Char *)buf___0, (Char const   *)((Char *)"watch:"),   6477         vgPlain_strncpy((Char *)buf___0, (Char const   *)((Char *)"watch:"),
6478                         (SizeT )6);   6478                         (SizeT )6);
6479         buf___0 += 6;   6479         buf___0 += 6;
6480         addr = (*(the_target->stopped_data_address))();   6480         addr = (*(the_target->stopped_data_address))();
6481         i = (int )(sizeof(void *) * 2U);   6481         i = (int )(sizeof(void *) * 2U);
6482         while (i > 0) {   6482         while (i > 0) {
6483           tmp___4 = buf___0;   6483           tmp___4 = buf___0;
6484           buf___0 ++;   6484           buf___0 ++;
6485           tmp___5 = tohex((int )((addr >> (i - 1) * 4) & 15UL));   6485           tmp___5 = tohex((int )((addr >> (i - 1) * 4) & 15UL));
6486           *tmp___4 = (char )tmp___5;   6486           *tmp___4 = (char )tmp___5;
6487           i --;   6487           i --;
6488         }   6488         }
6489         tmp___6 = buf___0;   6489         tmp___6 = buf___0;
6490         buf___0 ++;   6490         buf___0 ++;
6491         *tmp___6 = (char )';';   6491         *tmp___6 = (char )';';
6492       } else {   6492       } else {
6493     6493  
6494       }   6494       }
6495     } else {   6495     } else {
6496     6496  
6497     }   6497     }
6498     while (*regp) {   6498     while (*regp) {
6499       tmp___8 = find_regno(*regp);   6499       tmp___8 = find_regno(*regp);
6500       buf___0 = outreg(tmp___8, buf___0);   6500       buf___0 = outreg(tmp___8, buf___0);
6501       regp ++;   6501       regp ++;
6502     }   6502     }
6503     thread_from_wait = ((struct inferior_list_entry *)current_inferior)->id;   6503     thread_from_wait = ((struct inferior_list_entry *)current_inferior)->id;
6504     gdb_id_from_wait = thread_to_gdb_id(current_inferior);   6504     gdb_id_from_wait = thread_to_gdb_id(current_inferior);
6505     while (1) {   6505     while (1) {
6506       tmp___9 = vgPlain_debugLog_getLevel();   6506       tmp___9 = vgPlain_debugLog_getLevel();
6507       if (tmp___9 >= 1) {   6507       if (tmp___9 >= 1) {
6508         tmp___10 = 1;   6508         tmp___10 = 1;
6509       } else {   6509       } else {
6510         tmp___10 = 0;   6510         tmp___10 = 0;
6511       }   6511       }
6512       tmp___11 = __builtin_expect((long )tmp___10, 0L);   6512       tmp___11 = __builtin_expect((long )tmp___10, 0L);
6513       if (tmp___11) {   6513       if (tmp___11) {
6514         vgPlain_debugLog(1, "gdbsrv", "Writing resume reply for %ld\n",   6514         vgPlain_debugLog(1, "gdbsrv", "Writing resume reply for %ld\n",
6515                          thread_from_wait);   6515                          thread_from_wait);
6516       } else {   6516       } else {
6517     6517  
6518       }   6518       }
6519       break;   6519       break;
6520     }   6520     }
6521     general_thread = thread_from_wait;   6521     general_thread = thread_from_wait;
6522     vgPlain_sprintf((Char *)buf___0, "thread:%x;", gdb_id_from_wait);   6522     vgPlain_sprintf((Char *)buf___0, "thread:%x;", gdb_id_from_wait);
6523     tmp___12 = vgPlain_strlen((Char const   *)((Char *)buf___0));   6523     tmp___12 = vgPlain_strlen((Char const   *)((Char *)buf___0));
6524     buf___0 += tmp___12;   6524     buf___0 += tmp___12;
6525     old_thread_from_wait = thread_from_wait;   6525     old_thread_from_wait = thread_from_wait;
6526   } else {   6526   } else {
6527     6527  
6528   }   6528   }
6529   tmp___13 = buf___0;   6529   tmp___13 = buf___0;
6530   buf___0 ++;   6530   buf___0 ++;
6531   *tmp___13 = (char)0;   6531   *tmp___13 = (char)0;
6532   return;   6532   return;
6533 }   6533 }
6534 }   6534 }
6535 void decode_m_packet(char *from , CORE_ADDR *mem_addr_ptr ,   6535 void decode_m_packet(char *from , CORE_ADDR *mem_addr_ptr ,
6536                      unsigned int *len_ptr )   6536                      unsigned int *len_ptr )
6537 {   6537 {
6538   int i ;   6538   int i ;
6539   int j ;   6539   int j ;
6540   char ch ;   6540   char ch ;
6541   unsigned int tmp ;   6541   unsigned int tmp ;
6542   int tmp___0 ;   6542   int tmp___0 ;
6543   int tmp___1 ;   6543   int tmp___1 ;
6544   int tmp___2 ;   6544   int tmp___2 ;
6545   int tmp___3 ;   6545   int tmp___3 ;
6546     6546  
6547   {   6547   {
6548   i = 0;   6548   i = 0;
6549   j = 0;   6549   j = 0;
6550   tmp = 0U;   6550   tmp = 0U;
6551   *len_ptr = tmp;   6551   *len_ptr = tmp;
6552   *mem_addr_ptr = (CORE_ADDR )tmp;   6552   *mem_addr_ptr = (CORE_ADDR )tmp;
6553   while (1) {   6553   while (1) {
6554     tmp___1 = i;   6554     tmp___1 = i;
6555     i ++;   6555     i ++;
6556     ch = *(from + tmp___1);   6556     ch = *(from + tmp___1);
6557     if ((int )ch != 44) {   6557     if ((int )ch != 44) {
6558     6558  
6559     } else {   6559     } else {
6560       break;   6560       break;
6561     }   6561     }
6562     *mem_addr_ptr <<= 4;   6562     *mem_addr_ptr <<= 4;
6563     tmp___0 = fromhex((int )ch);   6563     tmp___0 = fromhex((int )ch);
6564     *mem_addr_ptr |= (unsigned long )(tmp___0 & 15);   6564     *mem_addr_ptr |= (unsigned long )(tmp___0 & 15);
6565   }   6565   }
6566   j = 0;   6566   j = 0;
6567   while (j < 4) {   6567   while (j < 4) {
6568     tmp___2 = i;   6568     tmp___2 = i;
6569     i ++;   6569     i ++;
6570     ch = *(from + tmp___2);   6570     ch = *(from + tmp___2);
6571     if ((int )ch == 0) {   6571     if ((int )ch == 0) {
6572       break;   6572       break;
6573     } else {   6573     } else {
6574     6574  
6575     }   6575     }
6576     *len_ptr <<= 4;   6576     *len_ptr <<= 4;
6577     tmp___3 = fromhex((int )ch);   6577     tmp___3 = fromhex((int )ch);
6578     *len_ptr |= (unsigned int )(tmp___3 & 15);   6578     *len_ptr |= (unsigned int )(tmp___3 & 15);
6579     j ++;   6579     j ++;
6580   }   6580   }
6581   return;   6581   return;
6582 }   6582 }
6583 }   6583 }
6584 void decode_M_packet(char *from , CORE_ADDR *mem_addr_ptr ,   6584 void decode_M_packet(char *from , CORE_ADDR *mem_addr_ptr ,
6585                      unsigned int *len_ptr , unsigned char *to )   6585                      unsigned int *len_ptr , unsigned char *to )
6586 {   6586 {
6587   int i ;   6587   int i ;
6588   char ch ;   6588   char ch ;
6589   unsigned int tmp ;   6589   unsigned int tmp ;
6590   int tmp___0 ;   6590   int tmp___0 ;
6591   int tmp___1 ;   6591   int tmp___1 ;
6592   int tmp___2 ;   6592   int tmp___2 ;
6593   int tmp___3 ;   6593   int tmp___3 ;
6594   int tmp___4 ;   6594   int tmp___4 ;
6595     6595  
6596   {   6596   {
6597   i = 0;   6597   i = 0;
6598   tmp = 0U;   6598   tmp = 0U;
6599   *len_ptr = tmp;   6599   *len_ptr = tmp;
6600   *mem_addr_ptr = (CORE_ADDR )tmp;   6600   *mem_addr_ptr = (CORE_ADDR )tmp;
6601   while (1) {   6601   while (1) {
6602     tmp___1 = i;   6602     tmp___1 = i;
6603     i ++;   6603     i ++;
6604     ch = *(from + tmp___1);   6604     ch = *(from + tmp___1);
6605     if ((int )ch != 44) {   6605     if ((int )ch != 44) {
6606     6606  
6607     } else {   6607     } else {
6608       break;   6608       break;
6609     }   6609     }
6610     *mem_addr_ptr <<= 4;   6610     *mem_addr_ptr <<= 4;
6611     tmp___0 = fromhex((int )ch);   6611     tmp___0 = fromhex((int )ch);
6612     *mem_addr_ptr |= (unsigned long )(tmp___0 & 15);   6612     *mem_addr_ptr |= (unsigned long )(tmp___0 & 15);
6613   }   6613   }
6614   while (1) {   6614   while (1) {
6615     tmp___3 = i;   6615     tmp___3 = i;
6616     i ++;   6616     i ++;
6617     ch = *(from + tmp___3);   6617     ch = *(from + tmp___3);
6618     if ((int )ch != 58) {   6618     if ((int )ch != 58) {
6619     6619  
6620     } else {   6620     } else {
6621       break;   6621       break;
6622     }   6622     }
6623     *len_ptr <<= 4;   6623     *len_ptr <<= 4;
6624     tmp___2 = fromhex((int )ch);   6624     tmp___2 = fromhex((int )ch);
6625     *len_ptr |= (unsigned int )(tmp___2 & 15);   6625     *len_ptr |= (unsigned int )(tmp___2 & 15);
6626   }   6626   }
6627   tmp___4 = i;   6627   tmp___4 = i;
6628   i ++;   6628   i ++;
6629   convert_ascii_to_int(from + tmp___4, to, (int )*len_ptr);   6629   convert_ascii_to_int(from + tmp___4, to, (int )*len_ptr);
6630   return;   6630   return;
6631 }   6631 }
6632 }   6632 }
6633 int decode_X_packet(char *from , int packet_len , CORE_ADDR *mem_addr_ptr ,   6633 int decode_X_packet(char *from , int packet_len , CORE_ADDR *mem_addr_ptr ,
6634                     unsigned int *len_ptr , unsigned char *to )   6634                     unsigned int *len_ptr , unsigned char *to )
6635 {   6635 {
6636   int i ;   6636   int i ;
6637   char ch ;   6637   char ch ;
6638   unsigned int tmp ;   6638   unsigned int tmp ;
6639   int tmp___0 ;   6639   int tmp___0 ;
6640   int tmp___1 ;   6640   int tmp___1 ;
6641   int tmp___2 ;   6641   int tmp___2 ;
6642   int tmp___3 ;   6642   int tmp___3 ;
6643   int tmp___4 ;   6643   int tmp___4 ;
6644     6644  
6645   {   6645   {
6646   i = 0;   6646   i = 0;
6647   tmp = 0U;   6647   tmp = 0U;
6648   *len_ptr = tmp;   6648   *len_ptr = tmp;
6649   *mem_addr_ptr = (CORE_ADDR )tmp;   6649   *mem_addr_ptr = (CORE_ADDR )tmp;
6650   while (1) {   6650   while (1) {
6651     tmp___1 = i;   6651     tmp___1 = i;
6652     i ++;   6652     i ++;
6653     ch = *(from + tmp___1);   6653     ch = *(from + tmp___1);
6654     if ((int )ch != 44) {   6654     if ((int )ch != 44) {
6655     6655  
6656     } else {   6656     } else {
6657       break;   6657       break;
6658     }   6658     }
6659     *mem_addr_ptr <<= 4;   6659     *mem_addr_ptr <<= 4;
6660     tmp___0 = fromhex((int )ch);   6660     tmp___0 = fromhex((int )ch);
6661     *mem_addr_ptr |= (unsigned long )(tmp___0 & 15);   6661     *mem_addr_ptr |= (unsigned long )(tmp___0 & 15);
6662   }   6662   }
6663   while (1) {   6663   while (1) {
6664     tmp___3 = i;   6664     tmp___3 = i;
6665     i ++;   6665     i ++;
6666     ch = *(from + tmp___3);   6666     ch = *(from + tmp___3);
6667     if ((int )ch != 58) {   6667     if ((int )ch != 58) {
6668     6668  
6669     } else {   6669     } else {
6670       break;   6670       break;
6671     }   6671     }
6672     *len_ptr <<= 4;   6672     *len_ptr <<= 4;
6673     tmp___2 = fromhex((int )ch);   6673     tmp___2 = fromhex((int )ch);
6674     *len_ptr |= (unsigned int )(tmp___2 & 15);   6674     *len_ptr |= (unsigned int )(tmp___2 & 15);
6675   }   6675   }
6676   tmp___4 = remote_unescape_input((gdb_byte const   *)(from + i),   6676   tmp___4 = remote_unescape_input((gdb_byte const   *)(from + i),
6677                                   packet_len - i, to, (int )*len_ptr);   6677                                   packet_len - i, to, (int )*len_ptr);
6678   if ((unsigned int )tmp___4 != *len_ptr) {   6678   if ((unsigned int )tmp___4 != *len_ptr) {
6679     return (-1);   6679     return (-1);
6680   } else {   6680   } else {
6681     6681  
6682   }   6682   }
6683   return (0);   6683   return (0);
6684 }   6684 }
6685 }   6685 }